0
寫在文件超過8個字符
我寫在其中,如果我找到一個線「C」然後我刪除C來自那裏,並追加到下一行10字符代碼在ps文件中。文件中的所有記錄除了一條記錄(可以是任何記錄)以外都有8個字符。 下面是我輸入文件,在其中我更新:無法通過PUSH命令REXX
A2f6k1GG C
B3g7l2HH
C4h8m3II
D5i9n4JJ
所需的輸出是:
A2f6k1GG
B3g7l2HH C
C4h8m3II
D5i9n4JJ
我REXX代碼:
/*REXX*/
TRACE I
/* READ PASSWORD FILE */
ADDRESS TSO "ALLOC F(INFILE1) DSN('PPPRG3.PASSWRD.LIST') SHR REU"
/* INFILE1 is a logical name for the file */
"EXECIO * DISKR INFILE1 (FINIS STEM PASSWRD."
/* PASSWRD is the stem (array) that holds the data */
"FREE F(INFILE1)"
STRING1 = ""
STRING2 = ""
/* S12 = STRING1 || " " || STRING2 */
J = 1
DO J = 1 TO PASSWRD.0
PASSWRD.J = STRIP(PASSWRD.J)
IF SUBSTR(PASSWRD.J,10,1) = "C" THEN
DO
STRING1 = SUBSTR(PASSWRD.J,1,8)
Y = J +1
STRING2 = PASSWRD.Y
SAY STRING1 STRING2
ST3 = STRIP(STRING2,"B"," ") || " C"
SAY ST3
ADDRESS TSO "ALLOC DA('PPPRG3.PASSWRD.LIST') F(updatedd) OLD"
"EXECIO 1 DISKRU updatedd "J" (LIFO"
PULL line
PUSH STRING1
"EXECIO 1 DISKW updatedd"
SAY "UPDATE1"
"EXECIO 1 DISKRU updatedd "Y" (LIFO"
PULL line
PUSH ST3
"EXECIO 1 DISKW updatedd (FINIS"
SAY "UPDATE2"
"FREE F(updatedd)"
END
ELSE
J = J + 1
END
輸出我收到的是:
A2f6k1GG
B3g7l2HH
C4h8m3II
D5i9n4JJ
我的輸入文件是VB格式。當我將它改爲FB時,它現在工作正常。 – bp89