C++ 读取TXT文件一行并分割11111:22222分隔符: 然后保存成两个txt文件
时间: 2023-08-02 11:09:12 浏览: 86
好的,我来回答你的问题。
首先,你需要打开TXT文件并读取其内容,可以使用C++的fstream库来实现。具体代码如下:
```c++
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
ifstream inFile("input.txt"); // 打开输入文件
string line;
vector<string> lines; // 存储每行内容的vector
while (getline(inFile, line)) {
lines.push_back(line); // 将每行内容存储到vector中
}
inFile.close(); // 关闭输入文件
```
接下来,你需要将每行内容按照分隔符进行分割,并将分割后的结果存储到两个不同的TXT文件中。可以使用C++的stringstream和getline函数来实现。具体代码如下:
```c++
ofstream outFile1("output1.txt"); // 打开输出文件1
ofstream outFile2("output2.txt"); // 打开输出文件2
for (const auto& line : lines) {
stringstream ss(line);
string token;
getline(ss, token, ':'); // 以分隔符':'进行分割
outFile1 << token << endl; // 将分割后的第一部分写入输出文件1
getline(ss, token, ':'); // 继续以分隔符':'进行分割
outFile2 << token << endl; // 将分割后的第二部分写入输出文件2
}
outFile1.close(); // 关闭输出文件1
outFile2.close(); // 关闭输出文件2
```
最后,记得在完成所有操作后关闭所有打开的文件。完整代码如下:
```c++
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
ifstream inFile("input.txt"); // 打开输入文件
string line;
vector<string> lines; // 存储每行内容的vector
while (getline(inFile, line)) {
lines.push_back(line); // 将每行内容存储到vector中
}
inFile.close(); // 关闭输入文件
ofstream outFile1("output1.txt"); // 打开输出文件1
ofstream outFile2("output2.txt"); // 打开输出文件2
for (const auto& line : lines) {
stringstream ss(line);
string token;
getline(ss, token, ':'); // 以分隔符':'进行分割
outFile1 << token << endl; // 将分割后的第一部分写入输出文件1
getline(ss, token, ':'); // 继续以分隔符':'进行分割
outFile2 << token << endl; // 将分割后的第二部分写入输出文件2
}
outFile1.close(); // 关闭输出文件1
outFile2.close(); // 关闭输出文件2
return 0;
}
```
希望我的回答能够帮助到你!如果你还有其他问题,欢迎继续提问。
阅读全文