我正在读取一个文本文件,其中包含一个带有标点符号的单词,我想将这个单词读入一个没有标点符号的字符串。
例如,一个词可能是“你好”
我希望字符串得到“Hello”(没有逗号)。我怎样才能在 C++ 中仅使用 ifstream 库来做到这一点。 我可以使用忽略功能忽略最后一个字符吗?
提前谢谢你。
最佳答案
试试 ifstream::get(Ch* p, streamsize n, Ch term)。
一个例子:
char buffer[64];
std::cin.get(buffer, 64, ',');
// will read up to 64 characters until a ',' is found
// For the string "Hello," it would stream in "Hello"
如果您需要比简单的逗号更可靠,则需要对字符串进行后处理。这些步骤可能是:
- 将流读入字符串
- 使用 string::find_first_of() 帮助“分块”单词
- 根据需要返回单词。
如果我误解了你的问题,请随时详细说明!
关于c++ - 如何在忽略特定字符的情况下将单词读入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1678347/