点击或拖拽改变大小

Functions.FGetS 方法 (IntPtr, UInt32)

X#
从打开的文件中读取一行。

命名空间:  XSharp.Core
程序集:  XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法
 FUNCTION FGetS(
	ptrHandle AS IntPtr,
	nMax AS DWORD
) AS STRING
查看代码

参数

ptrHandle
类型:IntPtr
要读取的文件句柄。
nMax
类型:UInt32
每行读取的最大字符数。FGets() 将读取直到遇到硬回车(Chr(13))、到达文件末尾或读取了 nMax 个字符。
nMax 的默认值为 256。

返回值

类型:String
读取的行。当到达文件末尾时,FGets() 返回 NULL_STRING,并且 FError() 被设置为 257。
备注
此函数与 FReadLine() 相同。这两个函数都假定处理原始二进制数据,并且不依赖于 SetAnsi() 的状态。而 FReadText() 和 FRead4() 则依赖于 SetAnsi()。
示例
此示例使用 FGets() 读取整个文件,而不指定 nMax 的值:
X#
1ptrHandle := FOpen2("docs.txt", FO_READ)
2IF ptrHandle != F_ERROR
3    DO WHILE !FEOF(ptrHandle)
4        ? FGets(ptrHandle)
5    ENDDO
6ENDIF
7FClose(ptrHandle)
以下示例提供了一个实用程序,用于显示并计算文件中字符串的所有出现次数:
X#
 1FUNCTION Grep(cSearch, cFile AS STRING) ;
 2        AS DWORD PASCAL
 3    LOCAL handle AS PTR
 4    LOCAL Count AS DWORD
 5    LOCAL Line AS STRING
 6    handle := FOpen2(cFile, FO_READ)
 7    cSearch := Upper(cSearch)
 8    DO WHILE !FEOF(handle)
 9        line := Upper(FGets(handle))
10        IF InStr(cSearch, line)
11            ? line
12            Count += 1
13        ENDIF
14    ENDDO
15    RETURN Count
参见