我正在尝试从文件中读取,但我唯一能做的就是使用 getline()。
问题是阅读整行对我来说并不适合工作。
我的输入文件是这样的:
abc 10 20
bbb 10 30
ddd 40 20
当每行中的第一个单词应保存为字符串时,之后的两个数字都应保存为整数。 每行中“单词”之间的分隔符可以是空格或制表符。
那么唯一的解决方案是逐字符读取吗?或者有其他解决方案吗?
最佳答案
假设你想要这样的东西:
std::string s;
int v0, v1;
while (in >> s >> v0 >> v1) {
std::cout << "do something with s='" << s << "' v0=" << v0 << " v1=" << v1 << "\n";
}
但是,这并不能确保所有值都在一行中。如果你想为此安排,你可能想使用 std::getline()
读取一行,然后使用 std::istringstream
将这一行拆分成上面那样。
关于c++ - 如何在 C++ 中逐个字符地从文件中读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055819/