如何才能读取输入流的空白字符呢?
在标准的流中,有一个skipws标记,默认是置位的,表明当读取空白字符时,会将它们丢弃。使用std::noskipws操纵符可以清除这个标记:
cin >> std::noskipws;
一个案例:
#include <iostream>
#include <sstream>
int main()
{
char a, b, c;
std::istringstream iss(" 123");
iss >> std::skipws >> a >> b >> c; // 忽略掉前面的空白字符,PS: 默认std::skipws是置位的
std::cout << a << b << c << std::endl; // 123
iss.seekg(0);
iss >> std::noskipws >> a >> b >> c; // 不忽略空白字符,将其读取
std::cout << a << b << c << std::endl; // ..1
return 0;
}
参考资料:http://www.cplusplus.com/reference/ios/noskipws/
---------------------
作者:Demon90s
来源:CNBLOGS
原文:https://www.cnblogs.com/demon90s/p/7704502.html
版权声明:本文为作者原创文章,转载请附上博文链接!