一、基础概念
1、拼接字符串是指将多个字符串按照一定的顺序连接成一个新的字符串的操作。
2、在C++中,我们可以使用多种方法来实现字符串的拼接,其中最常用的方法是使用“+”运算符和字符串流。
二、字符串拼接方法
1、使用“+”运算符
# include <iostream>
using namespace std;
int main()
{
string str1 = "Hello";
string str2 = "world!";
string str3 = str1 + " " + str2;
cout << str3 << endl; // Hello world!
return 0;
}
上述代码中,我们将两个字符串用“+”运算符连接起来,并将结果保存在一个新的字符串变量中,输出结果为“Hello world!”。
2、使用字符串流
# include <iostream>
# include <sstream>
using namespace std;
int main()
{
string str1 = "Hello";
string str2 = "world!";
stringstream ss;
ss << str1 << " " << str2;
string str3 = ss.str();
cout << str3 << endl; // Hello world!
return 0;
}
上述代码中,我们使用了stringstream类将多个字符串连接起来。首先将两个字符串写入字符串流对象,然后通过调用该对象的str()方法将字符串流转换为字符串。
三、提高应用:字符串拼接应用在文件读写中
在文件读写过程中,有时需要将几个字符串拼接在一起,再一次性写入文件中。
1、使用“+”运算符
# include <iostream>
# include <fstream>
using namespace std;
int main()
{
string file1 = "file1.txt";
string file2 = "file2.txt";
string file3 = "file3.txt";
ofstream outFile(file3); // 新建一个文件
string line;
ifstream inFile1(file1);
ifstream inFile2(file2);
while(getline(inFile1, line))
{
outFile << line << endl;
}
inFile1.close();
while(getline(inFile2, line))
{
outFile << line << endl;
}
inFile2.close();
outFile.close();
return 0;
}
上述代码中,我们首先打开了两个文件file1.txt和file2.txt并读入内容,然后新建一个文件file3.txt,将读取的内容写入文件。
2、使用字符串流
# include <iostream>
# include <fstream>
# include <sstream>
using namespace std;
int main()
{
string file1 = "file1.txt";
string file2 = "file2.txt";
string file3 = "file3.txt";
ofstream outFile(file3); // 新建一个文件
string line;
stringstream ss;
ifstream inFile1(file1);
ifstream inFile2(file2);
while(getline(inFile1, line))
{
ss << line << endl;
}
inFile1.close();
while(getline(inFile2, line))
{
ss << line << endl;
}
inFile2.close();
outFile << ss.str();
outFile.close();
return 0;
}
上述代码中,我们使用了stringstream类将读取的文件内容写入字符串流对象中,最后将字符串流对象的内容写入新建的文件file3.txt中。
四、总结
本文介绍了C++实现字符串拼接的两种方法:使用“+”运算符和使用字符串流。并且通过在文件读写中的应用,进一步加深了对字符串拼接的理解。