File Opening Flags
文件打开标志
文件打开标志值指定了文件的访问模式。标志定义如下:
| 标识符 | 值 | 描述 |
|---|---|---|
| FILE_READ | 1 | 文件用于读取。该标志用于FileOpen()。当打开文件时,需要指定FILE_WRITE和/或FILE_READ标志。 |
| FILE_WRITE | 2 | 文件用于写入。该标志用于FileOpen()。当打开文件时,需要指定FILE_WRITE和/或FILE_READ标志。 |
| FILE_BIN | 4 | 二进制读写模式(无需进行字符串到字符串的转换)。该标志用于FileOpen() |
| FILE_CSV | 8 | CSV文件(其所有元素都转换为相应类型的字符串,无论是unicode还是ansi,并通过分隔符分隔)。该标志用于FileOpen() |
| FILE_TXT | 16 | 简单文本文件(与CSV文件相同,但不考虑分隔符)。该标志用于FileOpen() |
| FILE_ANSI | 32 | ANSI类型的字符串(一个字节符号)。该标志用于FileOpen() |
| FILE_UNICODE | 64 | UNICODE类型的字符串(两个字节符号)。该标志用于FileOpen() |
| FILE_SHARE_READ | 128 | 多个程序之间共享的读取访问。该标志用于FileOpen(),但它不能替代打开文件时指定FILE_WRITE和/或FILE_READ标志的必要性。 |
| FILE_SHARE_WRITE | 256 | 多个程序之间共享的写入访问。该标志用于FileOpen(),但它不能替代打开文件时指定FILE_WRITE和/或FILE_READ标志的必要性。 |
| FILE_REWRITE | 512 | 可以使用FileCopy()和FileMove()函数重写文件。文件必须已存在或应用于写入,否则文件将不会被打开。 |
| FILE_COMMON | 4096 | 所有客户端终端的通用文件夹中的文件路径\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。
另请参阅
最后更新于