不必要的空白跳过

unwanted skipping of whitespaces

本文关键字:空白 不必要      更新时间:2023-10-16

我用这个来读取输入:

istringstream iss;
string typ, data;
char c1, c2;
iss >> skipws >> c1 >> typ >> noskipws >> c2 >> data;

输入行可以像这样:" #text Markup used in this document is compatible with "不带引号

我想要实现的是,之后我的代码变量数据将包含"Markup used in this document is compatible with "

,但这段代码忽略了Markup之后的所有内容,即使我指定了我不希望它跳过空格的noskipws

如果你读这个std::noskipws参考,你会发现它

[…]禁用通过格式化的输入函数

跳过前导空格

它并不真正跳过输入中的混合空白,读入字符串总是在空白处停止。

您可以使用std::getline来获取该行的剩余部分。