所以我有这段代码:
ifstream sFile;
sFile.open(argv[1]);
stringstream ss;
unsigned char aChar;
string aString;
while (sFile >> noskipws >> aChar) {
ss << noskipws << aChar;
}
ss >> noskipws >> aString;
cout << noskipws << aString << endl;
我的文件包含: “SHE SMELLS”
在标准输出中,我看到的只是“SHE”。我浪费了太多时间试图解决这个问题,有人能帮我理解为什么会这样吗?
此外,这是否能够从扩展的ascii字母中读取字符?
答案 0 :(得分:0)
请查看此页面了解noskipws:
http://www.cplusplus.com/reference/iostream/manipulators/noskipws/
在示例中,它显示了您遇到的问题,使用以下方法修复:
iss.seekg(0);
如果您这样做,这应该有效:
sFile.seekg(0);
在你的while循环之前。 希望这是对的/有帮助的。