有关文件操作的几个函数

    xiaoxiao2021-12-14  20

    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)   求文件内容大小。

    转载请注明原文地址: https://ju.6miu.com/read-971623.html

    最新回复(0)