-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFileIO.cbl
More file actions
53 lines (46 loc) · 1.88 KB
/
Copy pathFileIO.cbl
File metadata and controls
53 lines (46 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
IDENTIFICATION DIVISION.
PROGRAM-ID. FILE-IO.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SETTING-FILE ASSIGN TO "setting.dat"
ORGANIZATION IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD SETTING-FILE.
01 SETTING-RECORD.
05 SETTING-ID PIC 9(5).
05 SETTING-VALUE PIC X(20).
WORKING-STORAGE SECTION.
01 EOF-FLAG PIC X VALUE 'X'.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
*> OPEN : 파일 열기 전에 반드시 열기 위한 키워드
OPEN INPUT SETTING-FILE. *> 읽기 전용
OPEN OUTPUT SETTING-FILE. *> 새 파일 생성 (기존에 있는 파일은 제거)
OPEN I-O SETTING-FILE. *> 읽기 + 쓰기
OPEN EXTEND SETTING-FILE. *> 기존 파일 끝에 추가 기록
PERFORM UNTIL EOF-FLAG = 'Y'
*> READ : 파일에서 레코드 한 건을 읽음
READ SETTING-FILE
AT END
MOVE 'Y' TO EOF-FLAG
NOT AT END
DISPLAY SETTING-ID SETTING-VALUE
END-READ
END-PERFORM.
*> 파일에는 00001HELLOWORD로 저장됨
MOVE 00001 TO SETTING-ID
MOVE "HELLO WORLD" TO SETTING-VALUE
WRITE SETTING-RECORD
*> 현재 파일에 00001HELLOWORLD 00002KIM 인경우
*> 파일 편집하기 위해서 I-O로 설정
*> READ 파일설명 → 값변경 → REWRITE 레코드 순으로 이루어짐
OPEN I-O SETTING-FILE.
READ SETTING-FILE.
MOVE 00004 TO SETTING-ID.
REWRITE SETTING-RECORD. *> 00001HELLOWORLD → 00004HELLOWORLD
*> 파일 버퍼를 정리하고 운영체제에 저장을 완료함
CLOSE SETTING-FILE.
STOP RUN.
END PROGRAM FILE-IO.