在这里插入代码片
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
//字符串分割函数
vector<string> StringSplit(string& str, char elem)
{
string tmp;//用于存储字符串
stringstream ss(str);//把字符串输入流中
vector<string> v1;//用于存储分割的字符串
while (getline(ss, tmp, elem))
{
if (!tmp.empty())
{
v1.push_back(tmp);
}
}
return v1;
}
int main()
{
ifstream inputFile("C:\\Users\\Administrator\\Desktop\\123.log");//以输入方式打开文件
ofstream outputFile("C:\\Users\\Administrator\\Desktop\\output.txt");//以输出方式打开文件
string line;
while (getline(inputFile, line))
{ // 逐行读取文件内容
vector<string> v;
if (line.find("arrow") != string::npos) //line.find()找到了返回索引值,找不到返回string::npos
{ // 判断该行是否符合条件
v = StringSplit(line, ':');
cout << v.at(7) << endl;//v索引中不能为-1
outputFile << v.at(7)<< endl; // 将符合条件的行写入输出文件
}
}
inputFile.close(); // 关闭输入文件
outputFile.close(); // 关闭输出文件
return 0;
}
文件逐行读取并筛选符合特定条件的行,进行字符串分割与文件保存
于 2023-03-09 11:16:32 首次发布