有关文件操作的几个函数

来源:互联网 发布:java类依赖 编辑:程序博客网 时间:2024/05/18 12:01

1.creat:

(1)函数的作用:建立,创建新文件。

(2)函数的原型:int creat (const char * pathname,mode_t mode)

(3)函数的参数:pathname:要建立的文件路径字符串。如:“/home/hello.c”。

                                   mode:建立文件的权限。

(4)函数的返回值:成功返回文件描述符,出错返回-1。

文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。

(5)头文件:#include <sys/types.h>

                          #include <sys/stat.h>

                          #include <fcntl.h>  

2.open:

(1)函数的作用:打开或创建新文件。

(2)函数的原型:int open (const char * pathname,int flags)      /*如果文件存在,仅打开*/

                                   int open (const char * pathname,int flags,mode_t mode)   /*如果文件不存在,需要新建文件*/

(3)函数的参数:pathname:要建立的文件路径字符串。

                                   mode:建立文件的权限。(当创建新文件时才使用)

                                    flags:使用的标准

                                    O_RDONLY :  只读

                                    O_WRONLY : 只写

                                    O_RDWR      : 读写

                                    O_CREAT     :打开文件不存在时,创建新文件。

                                    O_EXCL        :创建时新文件时检查文件是否存在,如果不存在则创建,如果有则出错。

                                    O_TRNUC    :若文件存在,并且是只写的形式打开,将文件清0。

                                    O_APPEND  :在文件尾继续写数据,不将文件清空。

                                    O_NONBLOCK:以不可阻断的形式打开,非阻塞。            

(4)函数的返回值:成功返回文件描述符,出错返回-1。

(5)头文件:#include <sys/types.h>

                          #include <sys/stat.h>

                          #include <fcntl.h>   

3.read:

(1)函数的作用:从打开的文件中读取数据。

(2)函数的原型:ssize_t read  (int fd, void * buf, size_t count)

(3)函数的参数:fd:open返回的文件描述符。

                                   buf:放置读出来数据缓冲区。

                                   count:要读取的字节数。

(4)函数的返回值:实际读到的字节数

                                       0:读到文件尾或者无数据可读

                                       -1:出错

(5)头文件:#include <unistd.h>

4.write:

(1)函数的作用:将数据写入到已经打开的文件内。

(2)函数的原型:ssize_t write (int fd, const void * buf, size_t count)

(3)函数的参数:fd:open返回的文件描述符。

                                   buf:放置要写入文件的数据缓冲区。

                                   count:写的字节数。

(4)函数的返回值:实际写入的字节数

                                       0:写满或写到文件尾

                                        >0,<要写字节数:实际写入的字节数。

                                       写多少,都写入

5.lseek:

(1)函数的作用:移动或者定位文件的读写位置。

(2)函数的原型:off_t lseek (int fd, off_t offset, int wheece)

(3)函数的参数:fd:open返回的文件描述符。

                                   wheece:文件的指针位置(当前,结尾,开头)

                                    SEEK_SET:文件头

                                    SEEK_CUR   文件当前位置

                                    SEEK_END   文件尾

                                    offset:偏移量,向前移动是负数,向后是整数

(4)函数的返回值:文件指针到头文件的字节数

  len = lseek (fd, 0, SEEK_END)   求文件内容大小。

0 0