从文件中输入两个单词串(C ++)

时间:2018-04-17 23:39:58

标签: c++ string file input fstream

我有一个.txt文件,我必须阅读多个项目 然后在控制台中输出它们。以下是文本文件

中一行的示例
  

int - string - int - float - float - string - char *

     

32073固定式自行车60 135 490.9温和的Tue Apr 17 16:53:46

我的问题主要是尽管两个单词之间有空格,但要输入第二个项目即字符串。值得注意的是,有时字符串只有一个字。现在,似乎choiceName正在占据整条线而没有像我想象的那样停在一个空间。

我只是在输出到控制台的时候从文本文件中获取一行而不是文件中的所有内容。我需要点击Enter以获得我不想要的下一行

    while(!(transactionLog >> idNum).eof())
    {
        getline(transactionLog, choiceName, ',');
        std::cin.clear();
        std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');

        transactionLog >> minutes >> weightPoundsCopy >> calories >> intensity;
        getline(transactionLog, timeStamp, '\n');

        std::cout << std::setfill('0') << std::setw(5) << idNum << choiceName << " " << minutes << " " << weightPoundsCopy << " " << calories << " " << intensity << " " << timeStamp << std::endl;
    }

1 个答案:

答案 0 :(得分:1)

由于您使用的是std::cin而不是transactionLog,因此您的代码会因等待Enter而停滞不前。