0

freopen( "inputString.txt"、 "r"、stdin);を使おうとしています。入力を標準入力に送信します。eclipseでプログラムを実行すると出力はxxxになりますが、プログラムを直接実行すると(eclipseなしでコンパイルした後に* .exeを実行)、出力はgoodxxxになります。

テキストファイルは、eclipseプロジェクトの*.exeと同じディレクトリにあります。どうすればこれを修正できますか。これが私のソースコードの一部です。

 int main() {
int debug = 1,width,height;
char s[1000];
freopen ("inputString.txt","r",stdin);

s[0]='x';
scanf("%s",s);
printf("%s",s);
printf("xxx")for(;;);;

return 0;}

inputString.txtに含まれる

良い

4

3 に答える 3

2

起動構成の現在のディレクトリをチェックし、期待どおりであることを確認します。これを使用して、プログラム内から現在のディレクトリを取得および印刷して、現在地を確認することもできます。

于 2012-05-04T01:54:31.957 に答える
0

プロジェクトのルートディレクトリにファイルを置くだけです。

于 2012-05-07T05:51:13.753 に答える
0
test
|___Binaries
|___Included
|___src
    |__test.cpp
    |__input.txt
|___Debug
|___Release

これがEclipseC++プロジェクト構造である場合、test.cppのファイルinput.txtの内容にアクセスするには、次のように記述する必要があります。

freopen("src/input.txt", "r", stdin);

「テスト」はルートディレクトリです

于 2020-12-01T21:06:46.283 に答える