当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 4.13 编程练习题 第3题 使用strcat拼接char数组字符串

C++ Primer Plus 6th 4.13 编程练习题 第3题 使用strcat拼接char数组字符串

更新时间:2019-03-23 15:49:08浏览次数:1+次

C++ Primer Plus编程练习4.13 第3题 使用strcat拼接char数组字符串
题目:
3.编写一个程序,它要求用户首先输入其名,然后输入其姓;然后程序使用一个逗号和空格将姓和名组合起来,并存储和显示组合结果。请使用char数组和头文件cstring中的函数。下面是该程序运行时的情形:
Enter your first name: Flip
Enter your last name: Fleming
Here's  the  information  in a  single string:  Fleming,   Flip

答案:书上无答案。

C++技术网辅导详解解答:
    cstring头文件的函数有:
memchr、memcmp、memcpy、memmove、memset、strcat、strchr、strcmp、strcoll、strcpy、strcspn、strerror、strlen、strncat、strncmp、strncpy、strpbrk、strrchr、strspn、strstr、strtok、strxfrm;
    题目要求的是,获取到姓和名之后,然后将两个字符串拼接在一起。所以我们需要字符串拼接函数strcat。
    strcat函数会直接将拼接后的内容,存储在第一个参数的缓冲中,所以请确保第一个参数的缓冲的内存足够大,能够保存拼接后的所有内容。

    当然你也可以使用strncat函数,这是strcat的安全版函数。功能一样,只是对缓冲区大小有检测。
    下面是参考代码:

#include <iostream>
#include <cstring>
int main()
{
    using namespace std;
    char name_last[100];
    char name_first[50];

    cout << "Enter your first name: ";
    cin.getline(name_first, 50);
    cout << "Enter your last name: ";
    cin.getline(name_last, 50);

    strcat(name_last, ", ");
    strcat(name_last, name_first);

    cout << "Here's  the  information  in a  single string: " << name_last<<endl;
    return 0;
}