cobol - 如何在新行中写入记录。(在 output.dat 文件中)
问题描述
我正在尝试将当前控制台显示输出到 TFileOut.da 文件。但是当我尝试写一条记录时,所有数据都会输出到同一行。
PROGRAM-ID. TFile.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT myInFile ASSIGN TO "TestFile.dat".
SELECT myOutFile ASSIGN TO "TFileOut.dat".
DATA DIVISION.
FILE SECTION.
FD myInFile.
01 inRecord.
02 StudentName PIC X(15).
02 StudentWNbr PIC X(8).
02 Years PIC X(9).
02 Course PIC X(9).
02 CourseD PIC X(28).
02 Grade PIC X(1).
02 CreditHr PIC 9.
02 FILLER PIC X(1).
FD myOutFile.
01 studentOutRecord.
02 DatFile PIC X(10).
WORKING-STORAGE SECTION.
01 w PIC X(3) VALUE "YES".
01 stor PIC X(9).
PROCEDURE DIVISION.
OPEN INPUT myInFile.
OPEN OUTPUT myOutFile.
PERFORM subRead
PERFORM UNTIL w = "NO"
PERFORM subRead
END-PERFORM.
CLOSE myInFile.
CLOSE myOutFile.
STOP RUN.
subRead.
READ myInFile
AT END
MOVE "NO" TO w
NOT AT END
DISPLAY Course
MOVE Course TO
MOVE Course to DatFile
WRITE studentOutRecord
END-READ.
是输出文件中的输出。CMPS 161 数学 223 数学 200 HIST 101 数学 223 数学 200 HIST 101 PHYS 101 MUSC 101 PSYC 101 SSYC 101
This is how I get into console.
CMPS 161
MATH 223
MATH 200
HIST 101
MATH 223
MATH 200
HIST 101
PHYS 101
MUSC 101
PSYC 101
SSYC 101
我想显示与控制台相同的输出文件。
解决方案
在 FILE-CONTROL 中将组织设置为行顺序。
SELECT myInFile ASSIGN TO "TestFile.dat"
organization is line sequential.
SELECT myOutFile ASSIGN TO "TFileOut.dat"
organization is line sequential.
这将保持换行符不变。
我在 Linux 下运行 GNUCobol,并且不使用行顺序,所有内容都打包成一行。
推荐阅读
- hadoop - 在cloudera中获取hadoop字数示例中的数字
- asp.net - 使用 StackExchange.Redis 4.0.1 nuget 包的 Asp.Net 应用程序的 Redis 超时错误
- ios - 尝试在 ios 设备上运行 React-Native 应用程序时,为什么所有 RCT... 引用“未定义符号”错误?
- swift - 调用时 RxSwift 主题未触发事件
- matlab - 我可以在 Matlab 中存储的矩阵的最大长度是多少
- c# - websocket-sharp-customheaders 发送标头
- javascript - 我需要在特定行拆分一个二维数组并将它们变成两个新的二维数组(nodejs)
- javascript - 将搜索数据导出为 PDF/打印
- java - 插入表时如何访问值?
- javascript - 通过 selectize.js 设置 select 的初始值?