【发布时间】:2026-02-18 14:55:01
【问题描述】:
好的,所以我有一个读取 .txt 文件的程序。
这是 .txt 文件的示例内容:
1 load grades.csv
2 save grades.csv
3 show all
我已将它作为字符串 command 读入。在第 1 行中,我能够很好地读取命令 load(该命令读取 grades.csv 文件),save 命令也是如此。但是对于下一行,我不确定如何将show all 命令作为一个单词来阅读。
这是我的代码:
if (command == load)
{
in.ignore();
cout << "load" << endl;
}
else if (command == "show all") //this is the error, it only reads in **save**
cout << "show" << endl;
else
cout << "save" << endl;
这是在 while 循环中运行的。我觉得我必须使用 ignore() 函数,但我不确定如何在 if-else 语句中实现它。
谢谢
【问题讨论】:
-
你用什么代码读入文件?
cin只会读到一个空格,所以要读一整行你需要使用getline -
好的,我将如何实现 getline 命令?
-
std::getline()读取整行,直到到达 EOL 或 EOF。使用std::istringstream解析读取的每一行中的单个单词。
标签: c++