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

Inputting two word string from a file (C++)

我有一个 .txt 文件,我必须在其中读取多个项目并 然后在控制台中输出它们。这是文本文件中的一行示例

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

32073 Stationary Bike 60 135 490.9 moderate Tue Apr 17 16:53:46

我这里的问题主要是让第二项,字符串,尽管两个词之间有 space 输入。还值得注意的是,有时字符串只有一个单词。现在似乎 choiceName 正在走整条线,而没有像我想象的那样在 space 处停下来。

我一次只从文本文件中获取一行输出到控制台,而不是文件中的所有内容。我需要按回车键才能看到我不想要的下一行,

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

您的代码在等待 Enter 时卡住,因为您使用 std::cin 而不是 transactionLog