複製鏈接
請複製以下鏈接發送給好友

printf

(計算機命令)

鎖定
PRINTF,是一條顯示一份文件的內容的命令,CTSS中,功能為在用户的控制枱上打印一份BCD卡片映像(card image)文件。
外文名
PRINTF
定    義
一條顯示一份文件的內容的命令

目錄

printf打印

CTSS中,在用户的控制枱上打印一份BCD卡片映像(card image)文件。 [4] 
printf α β γ
塊計數=5
打出α, β文件從行號γ開始。如果忽略了γ,默認是初始的行。如果γ不吻合文件中的任何行號,打印開始在第一行大於γ。即使一份卡片映像的標識區域包含字母字符,γ只對應一個數字部分。
如果α, β不在卡片映像(card-image)類型中,但是被以變量長度(variable-length)格式寫,沒有行號會被打印。Printf會,如果需要,分裂一行,如果行對於控制枱的字車(carriage)來説太長的話。 [3] 
printf subr fap
WAIT,
00010              RECOUP
00020 RECOUP TRA      *+1
00030        CAL      1,4
00040        STA      RECOUP
00050        TRA      2,4
00060        END
READY.

printfCP-67

終端打出一份指定文件的全部或部分。 [2] 
格式
PRINTF filename filetype <n1   n2 < n3 >>
						  *    *
filename filetype指定要被打出的文件。
n1是要被打出的第一行的行號(line number)。
n2是要被打出的最後一行的行號。
n3是一行能打出的字符的最大值,如果記錄要被縮短。
用途
filename(文件名)和filetype(文件類型)必須被指定。如果第一條行的行號和最後一條行的行號被忽略,或者由星號(*)指定,整份文件會被打出。一個星號在第一行或最後一行的區域遞歸地指定文件的開始或結束。
被打出的行會被縮短到指定的限制,如果任何,或者對於LISTING文件到113個字符,對於SCRIPT文件是120個字符,對於MEMO文件是80個字符,對於所有其它filetypes(文件類型)是72個字符。如果指定了一個限制,第一行和最後一行區域必須被填充,無論是明確的,或者和星號。
搜查的標準順序被用於尋找文件。在文件帶有複製(duplicate)filename和filetype的情況中,只有找到的第一份文件會被打出。
注意
  1. 第一個行號和最後一個行號必須小於9999,並且不能帶有被嵌入的逗號。
  2. 一份LISTING文件中的每行的第一個字符不會被打出。這是一個打印機字車控制字符。
  3. KT命令推翻(overrides)任何指定的最後一個行號或者行長度。
例子
這裏有一些被給予在Figures 8、9和10中。
printf go exec

LOAD &1
START

R; T=0.27/0.53  10.40.16

printf go exec * * 80

LOAD &1						GO 00010
START						G0 00020

R; T=0.27/0.55  10.46.32
Figure 8. 兩個PRINTF命令打出一份整個文件的例子
printf syslib maclib 157 171 72

	 MACRO
&LABEL	 MADDPL    &COMM=*,&NAME=*,&TYPE=*,&MODE=P1,&ITNO=O,
	       &BUFF=*,&SIX ZE=80,&FV=F,*NOIT=1
&LABEL	 DS    0D
&LABEL.COMM DC CL8'&COMM'     COMMAND
&LABEL.NAME DC CL8'&NAME'     FILE-NAME
&LABEL.TYPE DC CL8'&TYPE'     FILE-TYPE
&LABEL.MODE DC CL2'&MODE.     FILE-MODE
&LABEL.INTO DC H'&ITNO'       ITEM NUMBER
&LABEL.BUFF DC A(&BUFF)       BUFFER REA
&LABEL.SIZE DC A(&SIZE)       BUFFER SIZE
&LABEL.FV DC   CL2'&FV'       FIXED/VARIABLE FLAG
&LABEL.NOIT DC H'&NOIT'       NUMBER OF ITEMS
&LABEL.NORD DC F'0'           NUMBER OF BYTES ACTUALLY READ
	 MEND

R; T=0.50/0.72  10.56.18
Figure 9. 一條打出一個宏定義(macro definition)的PRINTF命令
printf fortj listing 33 * 72
			      FORMAT STATEMENT MAP
 SYMBOL  LOCATION  SYMBOL  LOCATION  SYMBOL  LOCATION
      5     38C        20    392          8    398

    TOTAL MEMORY REQUIREMENTS 00057E BYTES

R; T=0.33/0.47  10.59.42
Figure 10. 一條打出一份FORTRAN LISTING文件的PRINTF命令
錯誤信息
E(00001)  CORRECT FORM IS: 'PRINTF' FILENAME
	      FILETYPE STARTLINE ENDLINE LINE-LIMIT,
	      WHERE 'STARTLINE', 'ENDLINE', AND
	      'LINE-LIMIT' ARE OPTIONAL.
filename或filetype被忽略,或者其中一個可選的區域不可用。
E(00002)  DISK ERROR.
一個I/O錯誤發生。再次初始化磁盤可能是需要的。
E(0003)  FILE NOT FOUND.
沒有文件帶有指定的filename和filetype存在。 [1] 
參考資料