4

ねえ、fstreamを使用して読み込もうとしているテキストファイルはどこに配置すればよいですか?このチュートリアルでは、http://www.gamedev.net/reference/articles/article1127.asp、彼らは言います

ifstream fin( "input.txt");

「input.txt」はどこにありますか?この「C:\ Users \ XXXXXXX \ Documents \ test.in」を実行してファイルへのパスを指定する前に、ただし、これは機能していないようです。fstreamでのデータ入力が正しくありません。

私はCodeBlocksを使用しています。

前もって感謝します。

4

4 に答える 4

4

input.txtは作業ディレクトリにあるはずです。通常、作業ディレクトリは実行可能ファイルを含むディレクトリです。Visual Studioの場合、デバッガーで実行するときの作業ディレクトリは、[デバッグ]オプションで設定できます。

于 2010-06-22T23:28:13.550 に答える
1

システムによって異なりますが、ほとんどの場合、相対パスを使用してファイルを開くと、プロセスの作業ディレクトリ(つまり、プログラムを開始した場所)に関連するファイルが検索されます。

したがって、単に「input.txt」を開こうとすると、プログラムを開始したディレクトリが検索される可能性があります。

于 2010-06-22T23:27:25.640 に答える
0

現在の作業ディレクトリに依存するのではなく、パスを指定すると言います(ただし、何らかの理由で以前は機能しませんでした)。

それを試してください:ifstream fin( "C:/MyDir1/MyDir2/input.txt");

またはそれ:ifstream fin( "C:\ MyDir1 \ MyDir2 \ input.txt");

また、プログラム(プログラムが実行されているアカウント)に、少なくともこのファイルの読み取り権限があることを確認してください。

于 2010-06-23T00:10:53.947 に答える
0

まだCode::Blocksに関心がある場合は、プロジェクトのdebug/releaseフォルダーにTarget Properties移動してProject -> Properties -> Build targets変更する必要があります。Executing Working Dir

于 2013-06-10T02:50:25.057 に答える