1、Windows
define O_RDONLY 0x0000
define O_WRONLY 0x0001
define O_RDWR 0x0002
define O_APPEND 0x0008
define O_CREAT 0x0100
define O_TRUNC 0x0200
define O_EXCL 0x0400
define O_TEXT 0x4000
define O_BINARY 0x8000
define O_RAW 0x8000
define O_TEMPORARY 0x0040
define O_NOINHERIT 0x0080
define O_SEQUENTIAL 0x0020
define O_RANDOM 0x0010
2、linux
define O_ACCMODE 0003
define O_RDONLY 00
define O_WRONLY 01
define O_RDWR 02
define O_CREAT 0100 / not fcntl /
define O_EXCL 0200 / not fcntl /
define O_NOCTTY 0400 / not fcntl /
define O_TRUNC 01000 / not fcntl /
define O_APPEND 02000
define O_NONBLOCK 04000
define O_NDELAY O_NONBLOCK
define O_SYNC 04010000
define O_FSYNC O_SYNC
define O_ASYNC 020000
3、使用
define O_RDONLY 0x0000
define O_WRONLY 0x0001
define O_RDWR 0x0002
这三个是基本打开标志,是互斥的,其他的都是附加标志;
open("test.txt",O_RDONLY,00700);
open("test.txt",O_WRONLY|O_CREAT|O_TRUNC,00700);
另外:linux下不存在二进制打开标志,linux下文件都是二进制操作的;
4、windows和linux下头文件
fcntl-Windows.h fcntl-linux.h