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