0

だから私はこのコードを持っています:

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 SELLS"

標準出力では、「SHE」しか表示されません。私はこれを理解しようとして多くの時間を無駄にしました.誰かがなぜこれが起こっているのか理解するのを手伝ってくれますか?

また、これは拡張ASCIIアルファベットの文字を読み取ることができますか?

4

1 に答える 1

0

noskipws については、このページを参照してください。

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

例では、発生している問題を示しています。次を使用して修正されます。

iss.seekg(0);

これを行うと、これは機能するはずです:

sFile.seekg(0);

while ループの前に。それが正しいことを願っています/役に立ちます。

于 2012-07-24T00:09:32.750 に答える