无法从C ++文件中读取char中的char

时间:2012-07-24 00:02:24

标签: c++ string file-io stringstream

所以我有这段代码:

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字母中读取字符?

1 个答案:

答案 0 :(得分:0)

请查看此页面了解noskipws:

http://www.cplusplus.com/reference/iostream/manipulators/noskipws/

在示例中,它显示了您遇到的问题,使用以下方法修复:

iss.seekg(0);

如果您这样做,这应该有效:

sFile.seekg(0);
在你的while循环之前

。 希望这是对的/有帮助的。