Functions.FGetS 方法 (IntPtr, UInt32) | |
从打开的文件中读取一行。
命名空间:
XSharp.Core
程序集:
XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法 FUNCTION FGetS(
ptrHandle AS IntPtr,
nMax AS DWORD
) AS STRING
public static string FGetS(
IntPtr ptrHandle,
uint nMax
)
查看代码参数
- ptrHandle
- 类型:IntPtr
要读取的文件句柄。 - nMax
- 类型:UInt32
每行读取的最大字符数。FGets() 将读取直到遇到硬回车(Chr(13))、到达文件末尾或读取了 nMax 个字符。
nMax 的默认值为 256。
返回值
类型:
String
读取的行。当到达文件末尾时,FGets() 返回 NULL_STRING,并且 FError() 被设置为 257。
备注
此函数与 FReadLine() 相同。这两个函数都假定处理原始二进制数据,并且不依赖于 SetAnsi() 的状态。而 FReadText() 和 FRead4() 则依赖于 SetAnsi()。
示例
此示例使用 FGets() 读取整个文件,而不指定
nMax 的值:
1ptrHandle := FOpen2("docs.txt", FO_READ)
2IF ptrHandle != F_ERROR
3 DO WHILE !FEOF(ptrHandle)
4 ? FGets(ptrHandle)
5 ENDDO
6ENDIF
7FClose(ptrHandle)
以下示例提供了一个实用程序,用于显示并计算文件中字符串的所有出现次数:
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
参见