【问题标题】:How to read a single line of txt file word by word [C++]如何通过Word [C ++]读取单行TXT文件单词
【发布时间】:2019-01-27 22:08:51
【问题描述】:

我需要逐字读取给定文件的单行。 该文件是不同学生考试成绩的登记册。特别是,对于任何学生来说,第一个 行格式如下:

-姓名--姓氏-

然后,第二行使用以下格式报告每次考试的成绩:

-grade 1- -grade 2- -grade 3- [...] -grade n-

我创建了一个学生类,并希望将成绩放在一个 int 数组中。 我知道如何逐字阅读文件,但我不知道一旦学生的成绩结束后如何停止(因为我不知道任何给定学生的成绩是多少)。 我想写一个while重复语句,但我不知道条件是什么。

有没有一种方法可以逐字逐句阅读,一旦读完就停止阅读?

这是我到现在才写的:

cout << "Inserisci il nome del file da analizzare: " << endl;
cin >> _filename;
fstream myfile;
myfile.open(_filename);  
if (myfile.is_open())  
{
    myfile >> _name >> _surname >> ;  //reading name and surname

}

【问题讨论】:

    标签: arrays string c++11 file-io


    【解决方案1】:
    1. 使用std::getline 读取一行文本。
    2. 使用std::istringstream 从行中读取每个标记。

    std::string line;
    if ( ! std::getline(myfile, line) )
    {
       // Problem reading the line.
       // Deal with error.
    }
    else
    {
       // Read line successfully.
       std::istringstream str(line);
       std::string token;
       while ( str >> token )
       {
          // Use token.
       }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2022-01-04
      相关资源
      最近更新 更多