课后习题5.13 编写一程序,将两个字符串连接起来,结果取代第一个字符串。
(1)用字符数组,不用stract函数(即自己写一个具有stract函数功能的函数);
(2)用标准库中的stract函数;
(3)用string方法定义字符串变量。
(1)用字符数组,不用stract函数(即自己写一个具有stract函数功能的函数):
#include <iostream>
#include <string>
using namespace std;
int main()
{
char s1[80], s2[40];
int i = 0, j = 0;
cout << "input string1:";
cin >> s1;
cout << "input string2:";
cin >> s2;
while (s1[i] != '\0')
i++;
while (s2[j] != '\0')
s1[i++] = s2[j++];
s1[i] = '\0';
cout << "The new string is:" << s1 << endl;
return 0;
}
(2)用标准库中的stract函数:
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char s1[80], s2[40];
cout << "input string1:";
cin >> s1;
cout << "input string2:";
cin >> s2;
strcat(s1,s2);
cout << "The new string is:" << s1 << endl;
return 0;
}
在VS2019下,需将源文件的stract做一些修改,所以源文件为:
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char s1[80], s2[40];
cout << "input string1:";
cin >> s1;
cout << "input string2:";
cin >> s2;
strcat_s(s1,40,s2);
cout << "The new string is:" << s1 << endl;
return 0;
}
(3)用string方法定义字符串变量:
#include <iostream>
using namespace std;
int main()
{
string s1 = "week", s2 = "end";
cout << "s1=" << s1 << endl;
cout << "s2=" << s2 << endl;
s1 = s1 + s2;
cout << "The new string is:" << s1 << endl;
return 0;
}