ファイルから、1行の文字列を読み込みます。
構文:
Line Input #file number, string_variable_1
又は
Line Input #file number, string_variable_2 , max_length
パラメタ:
file number
Input のために開かれたファイルの、ファイル番号
string_variable_1
可変長または固定長 (および既知) の文字列。テキスト行を受け取ります
string_variable_2
{z|w}string ポインタまたは {z|w}string 変数の逆参照 (どちらも文字列バッファ サイズは不明) を参照して、テキスト行を受け取ります。
max_length
NULL ターミネータを含む、文字列バッファに書き込むことができる最大文字数
記述:
開いているテキスト・ファイル(制限されたファイル番号を通して
Input のために、開かれる)から、一行を読んで、文字列変数に、それを保存します。
一行の文字列の終わりまで取得しますが、文字列の最後の「行末文字」は含まれていません。
行末文字は、
LF 文字 (
Chr(10)) か、
CRLF の組合せ(
Chr(13,10)) の場合が有ります。
次の 2つの構文を使用できます:
-
最初の構文は、文字列バッファー サイズ (string_variable_1 によって提供される) が可変または固定 (および既知) の場合にのみ許可されます。
-
max_length パラメーターを使った 2番目の構文は、文字列バッファー サイズ (string_variable_2 によって提供される) が不明な場合にのみ使用できます。
これは、逆参照された Zstring/Wstring ポインター、または参照によって渡された Zstring/Wstring 変数で発生します。
これは、読み取るテキスト行を切り詰めたり、提供された文字列バッファの割り当てられたデータを超えてオーバーフローしないようにするために使用できます。
例:
Open "myfile.txt" For Output As #1
Print #1, "Hello, World"
Close #1
Dim s As String
Open "myfile.txt" For Input As #1
Line Input #1, s
Close #1
Print "'" & s & "'"
Const maxlength = 6 '' max 5 characters plus 1 null terminal character
Dim pz As ZString Ptr = CAllocate(maxlength, SizeOf(ZString))
Open "myfile.txt" For Input As #1
Line Input #1, *pz, maxlength
Close #1
Print "'" & *pz & "'"
Deallocate(pz)
旧例:
Dim s As String
Open "myfile.txt" For Output As #1
Print #1, "Hello, World"
Print #1, "今日は世界"
Close #1
Open "myfile.txt" For Input As #1
Line Input #1, s
Print s
Line Input #1, s
Print s
Close #1
Sleep
バージョン:
- fbc 1.10.0 より前は、2番目の構文 (max_length パラメーターを使用) はサポートされていませんでした。
QBからの違い:
参照: