行末にコンマがあるテキストファイルを読む

Full BASICのINPUT文は,空白を除いた末尾がコンマである入力応答があると,次の行に継続するものと仮定します。
そのため,

"a","b","c",
"d","e","f", 

のような内容のファイルを

INPUT #1: a$,b$,c$,d$

の形のINPUT文で読み込むと,1行目の末尾がコンマで終わっているので1行目が2行目に継続しているものとして処理します。 すると,残りの"e","f"が余分なデータになるので,EXTYPE8013(余分なデータがある)のエラーになります。

このような場合,内部形式ファイルとして開いてREAD文で読めば読めるかも知れません。(内部形式ファイルには行継続を認めていません。)

10 OPEN #1:NAME "A:CSVTEXT.TXT" ,RECTYPE INTERNAL
20 DO 
30    READ #1,IF MISSING THEN EXIT DO: a$,b$,c$,d$
40    PRINT a$,b$,c$,d$
50 LOOP
60 CLOSE #1
70 END


 なお,十進BASICの現在のバージョンはコンマとコンマの間に何もないか空白のみであるとき,空文字列が指定されたと解釈するように入力応答の文法を拡張していますが,行末についてはFull BASICの約束が優先します。
ただし,数値項目については,空であることを認めていません。


戻る inserted by FC2 system