3

Windows 10でOpenCobolIDE 4.7.4(GnuCOBOLに基づいています)を使用しており、読み取り用にファイルを開いてこのプログラムをコンパイルしようとしています:

   IDENTIFICATION DIVISION.
   PROGRAM-ID. HELLO.

   ENVIRONMENT DIVISION.
      INPUT-OUTPUT SECTION.
         FILE-CONTROL.
         SELECT STUDENT ASSIGN TO 'input.txt'
         ORGANIZATION IS LINE SEQUENTIAL.            

   DATA DIVISION.
      FILE SECTION.
      FD STUDENT.
      01 STUDENT-FILE.
         05 STUDENT-ID PIC 9(5).
         05 NAME PIC A(25).

      WORKING-STORAGE SECTION.
      01 WS-STUDENT.
         05 WS-STUDENT-ID PIC 9(5).
         05 WS-NAME PIC A(25).
      01 WS-EOF PIC A(1). 

   PROCEDURE DIVISION.
      OPEN INPUT STUDENT.
         PERFORM UNTIL WS-EOF='Y'
         READ STUDENT INTO WS-STUDENT
            AT END MOVE 'Y' TO WS-EOF
            NOT AT END DISPLAY WS-STUDENT
         END-READ
         END-PERFORM.
      CLOSE STUDENT.
   STOP RUN.

input.txtはソース coude と同じディレクトリにありますが、まだ次のエラーが発生しています。

Main.cob:24: libcob: File does not exist (STATUS = 35) File : 'input.txt'

私は何を間違っていますか?

4

3 に答える 3

5

OCIDE には出力ディレクトリの設定があり、デフォルトは "bin" (ソース ファイルに対して) です。事実上、この設定をコンパイラに渡すだけですcobc source.cob -o bin\source.exe

この動作は、設定Menu Preferences -> Compilerで変更できます。

出力ディレクトリ

このオプションを使用すると、バイナリを配置する場所を選択できます。デフォルトでは、バイナリはソース ファイルの隣の bin フォルダーに配置されます。必要に応じて、別の相対ディレクトリまたは絶対ディレクトリを定義できます。

いずれにしても、環境で実際の名前を設定できます。GC FAQ - How to map a file name to an external name を確認してください。

別の方法として、環境 var を使用してデータ ディレクトリを設定できますCOB_FILE_PATH

両方の環境オプションは、設定Menu Preferences -> Runで設定できます。

于 2016-07-27T19:06:59.367 に答える
4

他の言語のほとんどの IDE では、たまたま別のディレクトリから実行可能ファイルが実行されます (たとえば、ビルドされた場所)。

簡単なテストは、書き込み用にファイルを開いて、テスト プログラムを作成することです。何が起こるかすぐにわかります。

于 2016-07-27T18:41:46.580 に答える