点击或拖拽改变大小

Functions.FWriteText 方法

X#
将字符串写入打开的文件,具有 SetAnsi() 依赖性。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION FWriteText(
	ptrHandle,
	cBuffer,
	nBytes
) AS DWORD CLIPPER
查看代码

参数

ptrHandle (Optional)
类型:__Usual
要写入的文件句柄。
cBuffer (Optional)
类型:__Usual
要写入的字符串。
nBytes (Optional)
类型:__Usual
从当前文件指针位置开始,要写入 cBuffer 中的字节数。
如果省略,则写入 cBuffer 的整个内容。

返回值

类型:UInt32
写入的字节数。
如果返回值等于 nBytes,则操作成功。
如果返回值小于 nBytes 或为 0,则表示 cBuffer 的长度小于 nBytes,或磁盘已满,或发生了其他错误。可以使用 FError() 确定具体错误。
备注
FWriteText() 与 FWrite() 相同,只是在 SetAnsi() 为 FALSE 时进行 ANSI 到 OEM 的转换。
备注
提示 提示:
这个函数是为了兼容性而包含的。我们不建议使用静态内存进行文件 I/O 操作。 我们建议您使用接受字节数组参数的函数重载。
示例
此示例将一个文件的内容复制到另一个文件。
X#
 1DEFINE F_BLOCK := 512
 2...
 3cBuffer := Space(F_BLOCK)
 4// 启用 OEM <paramref name="=" /> ANSI 转换
 5SetAnsi(FALSE)
 6nInfile := FOpen2("temp.txt", FO_READ)
 7nOutfile := FCreate("newfile.txt", FC_NORMAL)
 8lDone := FALSE
 9DO WHILE !lDone
10    nBytesRead := FReadText(nInfile, @cBuffer, F_BLOCK)
11    IF FWriteText(nOutfile, cBuffer) <
12        SLen(cBuffer)
13        ? DOSErrString(FError())
14        lDone := TRUE
15    ELSE
16        lDone := (nBytesRead = 0)
17    ENDIF
18ENDDO
19FClose(nInfile)
20FClose(nOutfile)
参见