Functions.FWriteLine 方法 (IntPtr, String, UInt32) | |
将字符串、回车符和换行符写入打开的文件。
命名空间:
XSharp.Core
程序集:
XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法 FUNCTION FWriteLine(
ptrHandle AS IntPtr,
cBuffer AS STRING,
nBytes AS DWORD
) AS DWORD
public static uint FWriteLine(
IntPtr ptrHandle,
string cBuffer,
uint nBytes
)
查看代码参数
- ptrHandle
- 类型:IntPtr
要写入的文件句柄。 - cBuffer
- 类型:String
要写入的字符串。 - nBytes
- 类型:UInt32
cBuffer 中要写入的字节数,写入从当前文件指针位置开始。
如果未指定 nBytes,则使用 SLen(cBuffer) 的值。
返回值
类型:
UInt32
写入的字节数。
如果返回值等于
nBytes + 2,则操作成功。
如果返回值小于
nBytes + 2 或为 0,则表示
cBuffer 的长度小于
nBytes,或磁盘已满,或发生了其他错误。
备注
FWriteLine() 是一个低级文件函数,从字符串缓冲区向打开的文件写入数据。您可以选择写入整个缓冲区或部分缓冲区内容。写入从当前文件位置开始,函数返回实际写入的字节数。
此函数假定处理原始二进制数据,并不依赖于 SetAnsi() 的状态。相反,FWriteText() 和 FWrite4() 则依赖于 SetAnsi()。
备注 提示: |
---|
X# 运行时中的低级文件 IO 函数在后台使用 .Net 文件流。
这意味着 FOpen() 和 FCreate() 返回的文件句柄不是'正常'的文件句柄,而是用于在运行时的流集合中找到底层流对象的唯一标识符。
这也意味着你不能使用 FRead() 和 FWrite() 这样的函数,这些函数不是在 X# 运行时中创建的文件句柄。
如果你想访问底层的 FileStream,你应该调用函数 FGetStream(IntPtr) |
示例
此示例使用 FWriteLine() 从文件开头开始写入行。
回车符/换行符对使返回值增加 2:
1hF := FOpen2("c:\data\sales", FO_READWRITE)
2IF hF != F_ERROR
3 ? FWriteLine(hF, "Line1")
4 ? FWriteLine(hF, "Line1", 2)
5ENDIF
参见