Functions.FCreate2 方法 | |
创建文件或打开并截断现有文件,指定两个强类型参数。
命名空间:
XSharp.Core
程序集:
XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法 FUNCTION FCreate2(
cFileName AS STRING,
dwAttributes AS DWORD
) AS IntPtr
public static IntPtr FCreate2(
string cFileName,
uint dwAttributes
)
查看代码参数
- cFileName
- 类型:String
要创建的文件名,包括可选的驱动器、目录和扩展名。忽略 SetDefault() 和 SetPath() 设置;除非您在文件名中指定驱动器和目录,否则使用 Windows 默认设置。不假定任何扩展名。
如果文件已存在,其长度将被截断为 0,且不会发出警告。
在并发控制冲突的情况下,此函数会设置 NetErr()。
- dwAttributes
- 类型:UInt32
以下常量之一,指示创建文件时要设置的属性:
常量 描述
FC_ARCHIVED 已归档文件
FC_HIDDEN 隐藏文件
FC_NORMAL 普通读/写文件
FC_READONLY 只读文件
FC_SYSTEM 系统文件
返回值
类型:
IntPtr
新文件的 DOS 文件句柄号。
如果发生错误,FCreate2() 返回 F_ERROR。可以使用 FError() 确定具体错误。
备注 备注 提示: |
---|
X# 运行时中的低级文件 IO 函数在后台使用 .Net 文件流。
这意味着 FOpen() 和 FCreate() 返回的文件句柄不是'正常'的文件句柄,而是用于在运行时的流集合中找到底层流对象的唯一标识符。
这也意味着你不能使用 FRead() 和 FWrite() 这样的函数,这些函数不是在 X# 运行时中创建的文件句柄。
如果你想访问底层的 FileStream,你应该调用函数 FGetStream(IntPtr) |
示例
此示例创建一个名为 TESTFILE.TXT 的文件并打开它以进行读写:
1ptrHandle := FCreate2("testfile.txt", FC_NORMAL)
2IF ptrHandle = F_ERROR
3 ? DOSErrString(FError())
4ELSE
5 FWrite(ptrHandle, "你好")
6 FClose(ptrHandle)
7ENDIF
参见