linux中的IO函数

1)open函数:以特定的方式打开一个文件;

                头文件:sys/type.h  sys/stat.h   fcntl.h

                返回值:错误则返回-1,正确则返回文件描述符(int类型,范围为3~1023,文件的标号)

                函数原型:int open(const  char *pathname,int flags) 

                                    int open(const char *pathname,int flags,mode_t mode)

               flag必选项:O_WRONLY,O_RDONLY,O_RDWR;

                flag可选项:O_APPEND(追加),O_CREAT(创建,需要指定文件的权限,创建的文件权限=设定的权限-                                           umask),O_EXCL(如果文件存在且指定O_CREAT,则出错), O_TRUNC(文件存在截断为0),O_NONBLOCK;

 2)close函数:关闭文件

                头文件:unistd.h

                返回值:错误(-1),正确(0);

                函数原型:int close(int fd);

                fd:文件描述符;

 3)read函数:从文件中读取数据到指定数据缓冲区

                 头文件:unistd.h

                 返回值:文件读完(0),读取的字符串(>0),读取失败(-1)

                 函数原型:ssize_t  read(int fd,void  *buffer,size_t count);

                  fd:文件描述符;buffer:数据缓存区;count:读取的数据大小;

 4)write函数:将数据到指定文件中

                 头文件:unistd.h

                 返回值:写入的数据大仙(>0),写入失败(-1)

                 函数原型:ssize_t  read(int fd,const void  *buffer,size_t count);

                  fd:文件描述符;buffer:待写入的数据;count:读取的数据大小;

5)lseek函数:修改文件的读写位置,应用于获取文件长度,拓展文件空间(其后必须接一个写入函数)

                头文件:sys/type.h  unistd.h

                返回:如果成功返回距离起始位置的偏移量,失败返回-1;

                函数原型:off_t lseek(int  fd,off_t offset,int whence);

               fd:文件描述符,offset:偏移量,whence:

                                                                                   SEEK_SET(偏移到offset地方,相对于文件头)

                                                                                   SEEK_CUR(偏移到当前位置+offset)

                                                                                   SEEK_END(偏移到文件尾+offset);       

你可能感兴趣的:(linux中的IO函数)