牛骨文教育服务平台(让学习变的简单)
博文笔记

在COBOL中获取命令行参数

创建时间:2005-11-12 投稿人: 浏览次数:1491

        IDENTIFICATION DIVISION.
        PROGRAM-ID. EXAMPLE.
        ENVIRONMENT DIVISION.
        CONFIGURATION SECTION.
        SPECIAL-NAMES.
                SYSERR IS STANDARD-ERROR
                ENVIRONMENT-NAME IS NAME-OF-LOGICAL
                ENVIRONMENT-VALUE IS LOGICAL-VALUE
                ARGUMENT-NUMBER IS POS-OF-COMMAND-LINE-ARGUMENT
                ARGUMENT-VALUE IS COMMAND-LINE-ARGUMENT.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
           01 para-cnt        PIC 9(05).
           01 howmany-records PIC X(15).
           01 env-dir PIC x(50).
           01 file-name PIC x(50).
           01 file-spec PIC x(100).
        PROCEDURE DIVISION.
        BEGIN.
            ACCEPT para-cnt FROM POS-OF-COMMAND-LINE-ARGUMENT
                    ON EXCEPTION
                    DISPLAY "No arguments specified"
                    UPON STANDARD-ERROR
                    STOP RUN
            END-ACCEPT.
            DISPLAY " Parameters cnt:" para-cnt CONVERSION
            ACCEPT howmany-records FROM COMMAND-LINE-ARGUMENT
                    ON EXCEPTION
                    DISPLAY "No arguments specified"
                    UPON STANDARD-ERROR
                    STOP RUN
            END-ACCEPT.
            DISPLAY "COBOLPATH" UPON NAME-OF-LOGICAL.
            ACCEPT env-dir FROM LOGICAL-VALUE
              ON EXCEPTION
                DISPLAY "Logical COBOLPATH is not set"
                    UPON STANDARD-ERROR

              NOT ON EXCEPTION
                ACCEPT file-name FROM COMMAND-LINE-ARGUMENT
                  ON EXCEPTION
                    DISPLAY
                      "Attempt to read beyond end of command line"
                     UPON STANDARD-ERROR

                  NOT ON EXCEPTION
                   STRING env-dir file-name delimited BY
                    " " into file-spec
                   DISPLAY "Would have read " howmany-records
                   " records from " file-spec
                END-ACCEPT
            END-ACCEPT.
        prog_end.
           STOP RUN.
          

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。