我对流行为有疑问,请参见以下示例。我所期待的是,因为字符串中只有 5 个字符,当我试图读取 10 个字符时,流读取会卡住。相反,输出是“hellooooo”......最后一个字符被重复。我的问题有两个方面:首先,为什么?第二,无论如何让流表现得好像不再重复最后一个字符?
#include <sstream>
#include <iostream>
using namespace std;
int main(void) {
char c;
string msg("hello");
istringstream iss(msg);
unsigned int i = 0;
while (i < 10) {
iss >> c;
cout << c;
i++;
}
cout << endl;
return 0;
}