0

fstream を使用してテキスト ファイルからデータを読み込もうとしましたが、間違ったデータが取得されました。

ifstream fin ("C:\\Users\\rEgonicS\\Documents\\test.in");
int number;
fin >> number;
cout << number;

test.inは単に12
cout読み取ります4273190
誰かがこれがなぜそうなのか、そしてそれを修正する方法を説明できますか?

4

1 に答える 1

3

最も考えられる原因は、ファイルのオープンに失敗したことです。開いた後、および読み取り後にステータスを確認してください。簡単なテストの場合は、次のようにします。

ifstream fin ("C:\\Users\\rEgonicS\\Documents\\test.in");
if (!fin) cout << "File open failed\n";
int number;
fin >> number;
if (!fin) cout << "File read failed\n";
cout << number;

これにより、何が起こっているかについてさらに手がかりが得られる可能性があります。

于 2010-06-22T17:05:13.147 に答える