如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
.实用文档.LinuxC语言中open函数intopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmode);函数说明参数pathname指向欲翻开的文件路径字符串。以下是参数flags所能使用的旗标:O_RDONLY以只读方式翻开文件O_WRONLY以只写方式翻开文件O_RDWR以可读写方式翻开文件。上述三种旗标是互斥的,也就是不可同时使用,但可与以下的旗标利用OR(|)运算符组合。O_CREAT假设欲翻开的文件不存在那么自动建立该文件。O_EXCL如果O_CREAT也被设置,此指令会去检查文件是否存在。文件假设不存在那么建立该文件,否那么将导致翻开文件错误。此外,假设O_CREAT与O_EXCL同时设置,并且欲翻开的文件为符号连接,那么会翻开文件失败。O_NOCTTY如果欲翻开的文件为终端机设备时,那么不会将该终端机当成进程控制终端机。O_TRUNC假设文件存在并且以可写的方式翻开时,此旗标会令文件长度清为0,而原来存于该文件的资料也会消失。O_APPEND当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式参加到文件后面。O_NONBLOCK以不可阻断的方式翻开文件,也就是无论有无数据读取或等待,都会立即返回进程之中。O_NDELAY同O_NONBLOCK。O_SYNC以同步的方式翻开文件。O_NOFOLLOW如果参数pathname所指的文件为一符号连接,那么会令翻开文件失败。O_DIRECTORY如果参数pathname所指的文件并非为一目录,那么会令翻开文件失败。参数mode组合此为Linux2.2以后特有的旗标,以防止一些系统平安问题。参数mode那么有以下数种组合,只有在建立新文件时才会生效,此外真正建文件时的权限会受到umask值所影响,因此该文件权限应该为〔mode-umaks〕。S_IRWXU00700权限,代表该文件所有者具有可读、可写及可执行的权限。S_IRUSR或S_IREAD,00400权限,代表该文件所有者具有可读取的权限。S_IWUSR或S_IWRITE,00200权限,代表该文件所有者具有可写入的权限。S_IXUSR或S_IEXEC,00100权限,代表该文件所有者具有可执行的权限。S_IRWXG00070权限,代表该文件用户组具有可读、可写及可执行的权限。S_IRGRP00040权限,代表该文件用户组具有可读的权限。S_IWGRP00020权限,代表该文件用户组具有可写入的权限。S_IXGRP00010权限,代表该文件用户组具有可执行的权限。S_IRWXO00007权限,代表其他用户具有可读、可写及可执行的权限。S_IROTH00004权限,代表其他用户具有可读的权限S_IWOTH00002权限,代表其他用户具有可写入的权限。S_IXOTH00001权限,代表其他用户具有可执行的权限。返回值假设所有欲核查的权限都通过了检查那么返回文件描述符,表示成功,只要有一个权限被禁止那么返回-1。C语言中open函数作用:翻开和创立文件。intopen(constchar*pathname,intoflag,.../*mode_tmode*/);返回值:成功那么返回文件描述符,否那么返回-1对于open函数来说,第三个参数〔...〕仅当创立新文件时〔即使用了O_CREAT时〕才使用,用于指定文件的访问权限位〔accesspermissionbits〕。pathname是待翻开/创立文件的路径名〔如C:/cpp/a.cpp〕;oflag用于指定文件的翻开/创立模式,这个参数可由以下常量〔定义于fcntl.h〕通过逻辑或构成。O_RDONLY只读模式O_WRONLY只写模式O_RDWR读写模式翻开/创立文件时,至少得使用上述三个常量中的一个。以下常量是选用的:O_APPEND每次写操作都写入文件的末尾O_CREAT如果指定文件不存在,那么创立这个文件O_EXCL如果要创立的文件已存在,那么返回-1,并且修改errno的值O_TRUNC如果文件存在,并且以只写/读写方式翻开,那么清空文件全部内容(即将其长度截短为0)O_NOCTTY如果路径名指向终端设备,不要把这个设备用作控制终端。O_NONBLOCK如果路径名指向FIFO/块文件/字符文件,那么把文件的翻开和后继I/O文件描述符:内核〔kernel〕利用文件描述符〔filedescriptor〕来访问文件。文件描述符是非负整数。翻开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。习惯上,