gpt4 book ai didi

c++ - 在 C++ 中逐行读取并从行中获取单词

转载 作者:行者123 更新时间:2023-11-30 05:36:22 27 4
gpt4 key购买 nike

string line;
string filename;
cout << "Please enter filename :" << endl;
cin >> filename;
ifstream myfile(filename);
/*cout << "Please enter the name of file that you write results : "<< endl;
cin >> wfile; */
if(myfile.is_open())
{

while(getline(myfile,line))
{
convert(line);

}

//getline(myfile,line);
//pushintoVector(line,buffer);
}
else
{
cout << "Error : File could not be opened" << endl;

}

try{
myfile.close();
myFile.close();
}catch(exception &e1)
{
cout << endl;
}
//system("PAUSE");
return 0;

之后我想将当前行发送到另一个函数,例如:

void convert(string lines)
{
myFile.open("yazici.txt");

string buf;
string convertingnum;
istringstream ss(lines);

while(ss >> buf)
{

那么我如何从一行中读取单词并根据 if-else 结构更改它并将其写入另一个文件。编辑:还有确定行长度的函数或方法吗?

最佳答案

  1. 在打开输入文件的同时打开输出文件。
  2. 将输出流作为参数传递给 convert,而不是每次都在函数中打开文件。
  3. 使用比 myfilemyFile 更好的名称。
ifstream inputFile(filename);
ofstream outputFile("yazici.txt");

if(inputFile.is_open())
{
while(getline(inputFile,line))
{
convert(outputFile, line);
}
}

和...

void convert(std::ostream& outputFile,
string lines)
{
string buf;
string convertingnum;
istringstream ss(lines);

while(ss >> buf)
{
outputFile << buf << std::endl; //???
}
}

关于c++ - 在 C++ 中逐行读取并从行中获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33600771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com