不需要的空格跳过

unwanted skipping of whitespaces

我正在使用它来读取输入:

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

跳过空格之后也是如此

如果您阅读例如this std::noskipws reference你会看到它

[...] disables skipping of leading whitespace by the formatted input functions

它并没有真正跳过输入中的混合空格,读入一个字符串总是在空格处停止。

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