关于COBOL变量长度的问题
现在我想将一个文件里的内容读出来写到另一个文件里去,但是发现变量长度的定义如果和我要读的文件的大小不一致的话就会出错!!所以我想问一下怎么样能让这个变量的长度可以随着文件...
现在我想将一个文件里的内容读出来写到另一个文件里去,
但是发现变量长度的定义如果和我要读的文件的大小不一致的话就会出错!!
所以我想问一下怎么样能让这个变量的长度可以随着文件的大小而变动,而不是硬性的给这个变量规定一个死的长度
就比如我现在这段代码应该怎么修改?
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OUT-FILE ASSIGN TO EXER03O.
SELECT IN-FILE ASSIGN TO EXER010.
DATA DIVISION.
FILE SECTION.
FD OUT-FILE LABEL RECORD IS STANDARD RECORDING MODE IS F.
01 OUT-R.
02 OUT-REC PIC X(558).
FD IN-FILE LABEL RECORD IS STANDARD RECORDING MODE IS F.
01 IN-R.
02 IN-REC PIC X(558).
PROCEDURE DIVISION.
S. OPEN OUTPUT OUT-FILE.
S. OPEN INPUT IN-FILE.
READ IN-FILE
AT END
MOVE HIGH-VALUES TO IN-R
END-READ.
PERFORM UNTIL IN-R = HIGH-VALUES
MOVE IN-R TO OUT-R
WRITE OUT-R
READ IN-FILE
AT END
MOVE HIGH-VALUES TO IN-R
END-READ
END-PERFORM.
E. CLOSE OUT-FILE,IN-FILE.
STOP RUN.
在线等!!
给出合适答案的再加50分
入力数据长度是可变的。。。比如说现在TEST.TXT文件是300字节....然后我再随便往里在加些话..让它变成500字节.....甚至还会再增加.....
这样我那个02 OUT-REC PIC X(558).的长度就不能是个定值.....
出力长度随着读取文件的大小而不定....
有没有办法能先得到那个读取文件的大小LENGTH...
然后把这个得到的值直接放到02 OUT-REC PIC X(LENGTH).这样的想法能实现么???
用动态字符能实现这个么?如果能实现的话应该怎么做?感觉COBOL这点上真是够费脑筋的了。。
那个JCL是什么??? 展开
但是发现变量长度的定义如果和我要读的文件的大小不一致的话就会出错!!
所以我想问一下怎么样能让这个变量的长度可以随着文件的大小而变动,而不是硬性的给这个变量规定一个死的长度
就比如我现在这段代码应该怎么修改?
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OUT-FILE ASSIGN TO EXER03O.
SELECT IN-FILE ASSIGN TO EXER010.
DATA DIVISION.
FILE SECTION.
FD OUT-FILE LABEL RECORD IS STANDARD RECORDING MODE IS F.
01 OUT-R.
02 OUT-REC PIC X(558).
FD IN-FILE LABEL RECORD IS STANDARD RECORDING MODE IS F.
01 IN-R.
02 IN-REC PIC X(558).
PROCEDURE DIVISION.
S. OPEN OUTPUT OUT-FILE.
S. OPEN INPUT IN-FILE.
READ IN-FILE
AT END
MOVE HIGH-VALUES TO IN-R
END-READ.
PERFORM UNTIL IN-R = HIGH-VALUES
MOVE IN-R TO OUT-R
WRITE OUT-R
READ IN-FILE
AT END
MOVE HIGH-VALUES TO IN-R
END-READ
END-PERFORM.
E. CLOSE OUT-FILE,IN-FILE.
STOP RUN.
在线等!!
给出合适答案的再加50分
入力数据长度是可变的。。。比如说现在TEST.TXT文件是300字节....然后我再随便往里在加些话..让它变成500字节.....甚至还会再增加.....
这样我那个02 OUT-REC PIC X(558).的长度就不能是个定值.....
出力长度随着读取文件的大小而不定....
有没有办法能先得到那个读取文件的大小LENGTH...
然后把这个得到的值直接放到02 OUT-REC PIC X(LENGTH).这样的想法能实现么???
用动态字符能实现这个么?如果能实现的话应该怎么做?感觉COBOL这点上真是够费脑筋的了。。
那个JCL是什么??? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询