fstream を使用してテキスト ファイルからデータを読み込もうとしましたが、間違ったデータが取得されました。
ifstream fin ("C:\\Users\\rEgonicS\\Documents\\test.in");
int number;
fin >> number;
cout << number;
test.in
は単に12
。
cout
読み取ります4273190
。
誰かがこれがなぜそうなのか、そしてそれを修正する方法を説明できますか?
最も考えられる原因は、ファイルのオープンに失敗したことです。開いた後、および読み取り後にステータスを確認してください。簡単なテストの場合は、次のようにします。
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;
これにより、何が起こっているかについてさらに手がかりが得られる可能性があります。