LINE INPUT
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgLineinputPp
- 最后更新: 2025-06-01
从文件读取一行文本
语法
Line Input #file number, string_variable_1
or
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))。
有两种语法可用:
- 第一种语法仅在字符串缓冲区大小(由
string_variable_1提供)可变或固定(且已知)时允许使用。 - 第二种带
max_length参数的语法仅在字符串缓冲区大小(由string_variable_2提供)未知时允许使用。这发生在解引用的Zstring/Wstring指针,或通过引用传递的Zstring/Wstring变量时。这可用于截断要读取的文本行,或避免溢出提供的字符串缓冲区的已分配数据。
注意:
使用
Line Input #自然适合 Input 访问文件模式。在 Binary/Random 访问文件模式中也允许使用,但从未经过良好测试,结果可能有所不同。
示例
start GeSHi
vb
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)end GeSHi
版本
- 在 fbc 1.10.0 之前,不支持第二种语法(带
max_length参数)。
与 QB 的差异
- 无
另请参阅
Line InputInput #OpenInput (file mode)
返回 目录