Functions.FWrite 方法 | |
将字符串写入打开的文件。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION FWrite(
ptrHandle,
cBuffer,
nBytes
) AS DWORD CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static uint FWrite(
__Usual ptrHandle = default,
__Usual cBuffer = default,
__Usual nBytes = default
)
查看代码参数
- ptrHandle (Optional)
- 类型:__Usual
要写入的文件句柄。 - cBuffer (Optional)
- 类型:__Usual
要写入的字符串。 - nBytes (Optional)
- 类型:__Usual
从当前文件指针位置开始,要写入 cBuffer 的字节数。
如果省略,则写入 cBuffer 的整个内容。
返回值
类型:
UInt32
写入的字节数。
如果返回值等于
nBytes,则操作成功。
如果返回值小于
nBytes 或为 0,则表示
cBuffer 的长度小于
nBytes,或磁盘已满,或发生了其他错误。可以使用 FError() 确定具体错误。当发生磁盘满错误时,FError() 设置为 256。
FWrite() 和 FWrite3 假定处理原始二进制数据,不依赖于 SetAnsi() 的状态。相反,FWriteText() 和 FWrite4() 依赖于 SetAnsi()。
备注 备注 提示: |
---|
这个函数是为了兼容性而包含的。我们不建议使用静态内存进行文件 I/O 操作。
我们建议您使用接受字节数组参数的函数重载。
|
示例
此示例将一个文件的内容复制到另一个文件:
1DEFINE F_BLOCK := 512
2...
3cBuffer := Space(F_BLOCK)
4nInfile := FOpen2("temp.txt", FO_READ)
5nOutfile := FCreate("newfile.txt", FC_NORMAL)
6lDone := FALSE
7DO WHILE !lDone
8 nBytesRead := FRead(nInfile, @cBuffer,;
9 F_BLOCK)
10 IF FWrite(nOutfile, cBuffer) < SLen(cBuffer)
11 ? DOSErrString(FError())
12 lDone := TRUE
13 ELSE
14 lDone := (nBytesRead = 0)
15 ENDIF
16ENDDO
17FClose(nInfile)
18FClose(nOutfile)
参见