Istream最多使用N个空白字符

Istream consume at most N whitespace characters

本文关键字:空白 字符 Istream      更新时间:2023-10-16

是否有可能告诉std::istream在应用>>操作符时只使用固定数量(即1)的空白字符?我有一个字符串,我想解析为参数,但是一些参数是空的,这导致后续对operator>>的调用失败。

尝试std::noskipws:

std::cin >> std::noskipws;
char ws;
std::string firstField, secondField, thirdField;
std::cin >> firstField >> ws >> secondField >> ws >> thirdField;

或者,您可以将整行写入一个字符串(参见std::getline),然后使用Boost拆分它。