跳至内容

File Opening Flags

文件打开标志

文件打开标志值指定了文件的访问模式。标志定义如下:

标识符描述
FILE_READ1文件用于读取。该标志用于FileOpen()。当打开文件时,需要指定FILE_WRITE和/或FILE_READ标志。
FILE_WRITE2文件用于写入。该标志用于FileOpen()。当打开文件时,需要指定FILE_WRITE和/或FILE_READ标志。
FILE_BIN4二进制读写模式(无需进行字符串到字符串的转换)。该标志用于FileOpen()
FILE_CSV8CSV文件(其所有元素都转换为相应类型的字符串,无论是unicode还是ansi,并通过分隔符分隔)。该标志用于FileOpen()
FILE_TXT16简单文本文件(与CSV文件相同,但不考虑分隔符)。该标志用于FileOpen()
FILE_ANSI32ANSI类型的字符串(一个字节符号)。该标志用于FileOpen()
FILE_UNICODE64UNICODE类型的字符串(两个字节符号)。该标志用于FileOpen()
FILE_SHARE_READ128多个程序之间共享的读取访问。该标志用于FileOpen(),但它不能替代打开文件时指定FILE_WRITE和/或FILE_READ标志的必要性。
FILE_SHARE_WRITE256多个程序之间共享的写入访问。该标志用于FileOpen(),但它不能替代打开文件时指定FILE_WRITE和/或FILE_READ标志的必要性。
FILE_REWRITE512可以使用FileCopy()FileMove()函数重写文件。文件必须已存在或应用于写入,否则文件将不会被打开。
FILE_COMMON4096所有客户端终端的通用文件夹中的文件路径\Terminal\Common\Files。该标志用于FileOpen()FileCopy()FileMove()FileIsExist()函数。

打开文件时可以指定一个或多个标志。这是标志的组合。标志的组合使用逻辑或符号(|)表示,位于枚举标志之间。例如,要同时以CSV格式打开文件进行读取和写入,请指定组合FILE_READ|FILE_WRITE|FILE_CSV。

示例:

int filehandle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_CSV);

指定读写标志时有一些特定的工作特性:

  • 如果指定了FILE_READ,则尝试打开已存在的文件。如果文件不存在,则文件打开失败,不会创建新文件。
  • FILE_READ|FILE_WRITE – 如果指定名称的文件不存在,则将创建新文件。
  • FILE_WRITE – 文件将重新创建为零大小。
  • 打开文件时,需要指定FILE_WRITE和/或FILE_READ标志。 定义打开文件的读取类型的标志具有优先级。最高优先级的标志是FILE_CSV,其次是FILE_BIN,而FILE_TXT的优先级最低。因此,如果同时指定了多个标志,(FILE_TXT|FILE_CSV或FILE_TXT|FILE_BIN或FILE_BIN|FILE_CSV),将使用优先级最高的标志。

定义编码类型的标志也具有优先级。FILE_UNICODE的优先级高于FILE_ANSI。因此,如果指定了组合FILE_UNICODE|FILE_ANSI,则将使用标志FILE_UNICODE。

如果没有指定FILE_UNICODE或FILE_ANSI,则默认为FILE_UNICODE。如果没有指定FILE_CSV、FILE_BIN或FILE_TXT,则默认为FILE_CSV。

如果文件被打开为文本文件(FILE_TXT或FILE_CSV),并且在文件开头发现特殊的两个字节指示0xff,0xfe,则编码标志将为FILE_UNICODE,即使指定了FILE_ANSI。

另请参阅

文件函数

最后更新于