首先我的理解是,为什么不std :: noskipws工作,或者它应该做什么?
cin >> std::noskipws >> str;
应该cin
像“我有空间”坚持一整行到str
。但是,这只会将“我”放入str
。这可能是一个错误的假设,在这种情况下std::noskipws
做什么?
我知道有一个功能std::getline
,这是行不通的,但只是为了教育目的,我决定我会尽力让std::noskipws
为我工作。我已经尝试过,它只是从来没有工作,所以我通常继续前进,并使用std::getline
。
我觉得到目前为止,我发现是std::noskipws
技术上只是会取消std::skipws
其内部的basic_iostream
只是调用
ios_base::unsetf(std::ios::skipws);
或
ios_base::unsetf(ios_base::skipws);
所以,我想继承我自己流的形式basic_iostream
并手动设置这些标志(取消设置)。仍然没有骰子。
那么,我只是完全脱离基地或有办法让这项工作?
好问题;欢迎来到:) :) – 2011-04-13 19:53:02
也许你想[更改分隔符](http://stackoverflow.com/a/7304184/3484570),但我怀疑它。 – nwp 2015-08-11 14:35:06