繁体   English   中英

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

[英]Reading line by line and fetch word from line in C++

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; //???
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM