1

私のコードは本当に簡単です、

    @echo off
    cd C:\UVA\
    set /p file= Enter Problem Number::
    %file%.exe < test.txt
    pause

作業中のいくつかの競合ファイルを入れたフォルダーに移動し、test.txt に保存したテスト条件を使用してそれらを実行するだけです。今、コーディング競技に関する限り、「正しい」ことがわかっているいくつかの練習問題で試しています。これは、無限ループがなく、入力が完了するとプログラムが正しく停止することを意味します。しかし、このファイルを実行すると、とにかく無限ループがあるかどうかが表示されます。

ここで「修正」を正確に探しているわけではありません。見落としている可能性があることについてのアドバイス、または入力ファイルが一度だけ読み取られるようにする方法です。

4

1 に答える 1

0

これが役立つかどうかはわかりませんが、ループから設定された変数を使用して引数を渡すだけforでなく、ループを使用して test.txt からデータを読み取る必要があるかもしれません。>for

例:

@echo off
cd C:\UVA\
set /p file= Enter Problem Number::
for /f "eol=; tokens=1" %%a in (test.txt) do set arg=%%a
%file%.exe %arg%
pause
于 2013-04-08T18:15:49.067 に答える