open();
函数原型:int open(char* filename, int flags, mode_t mode);
函数功能:传参指定一个文件名,返回一个对应于该文件的文件描述符
形参列表:
filename:文件名
flag:操作方式
O_RDONLY
O_WRONLY
O_RDWR
O_CREAT
O_EXCL
O_APPEND:必须和写操作结合使用
O_TRUNC:必须和写操作结合使用
mode:文件权限
返回值:
成功:fd
失败:-1
close();
头文件: #include <unistd.h>
函数原型:int close(int fd);
函数功能:关闭一个文件描述符
形参列表:
fd:文件描述符
返回值:
成功:0
失败:-1
例如:close(fd);
read();
函数原型:ssize_t read(int fd, void * buf, size_t count);
函数功能:从fd指向的文件中最多读取count个字节的数据,读取出来之后存放在buf缓存区中!
形参列表:
fd:文件描述符。指向要读取的文件
buf:在程序中申请一块缓存区空间。用来存放从文件中读到的数据
count:限定最大读取的字节个数
返回值:
成功:实际读取到的字节个数
失败:-1
write();
函数原型:ssize_t write(int fd, const void *buf, size_t count);
函数功能:从buf缓存区空间中提取count个字节的数据,写入到fd指定的文件中
形参列表:
fd:文件描述符。指向要写入的文件
buf:缓存区。 存放要写入文件的数据
count:向文件中写入多少个字节的数据
返回值:
成功:写入的字节个数
失败:-1
补充:
写有三种方式:
覆盖写:正常的写权限(O_RDONLY O_RDWR)都是覆盖写!
追加写:打开一个文件的时候,使用写操作方式 或上 O_APPEND。
清空写:打开一个文件的时候,使用写操作方式 或上 O_TRUNC。
注意:
1)write()函数第三个传参是写入文件的实际字节个数,传参是多少就写入多少,数据不足,用0填充!
2)一般情况下,写操作会给上创建操作方式!如果文件不存在,先创建、再写!
3)写的三种操作方法必须是三选一!
lseek();
函数原型:off_t lseek(int fd, off_t offset, int whence);
函数功能:重置/定位文件操作偏移指针
形参列表:
fd:文件描述符。 重置该文件描述符中的偏移指针
offset:相对于基准点的偏移距离(单位:字节) ( 正数:向后偏移 负数:向前偏移)
whence:文件偏移指针位置设置的基准点
SEEK_SET:文件开头
SEEK_CUR:文件偏移指针当前位置
SEEK_END:文件结尾
返回值:
成功:文件偏移指针重置之后的位置到文件开头的距离
失败:-1
remove();
函数原型:int remove(const char *pathname);
函数功能:删除名称为pathname的文件
形参列表:
pathname:要删除的文件
返回值:
成功:0
失败:-1
补充:
void* :万能类型 < char* p = 0x56 double* q = 0x56 struct Std* t = 0x56 void* n = 0x56 >
int* char* double* char* [] struct Std* int (*func)(int , int) void*
1)任何类型的指针都是一个指针变量,该变量空间大小都是4字节,空间数据排布方式都是unsigned long
指针变量本身只有空间大小4字节和指针变量空间排布方式unsigned long!
2)指针的区别仅仅在于用不同指针类型来访问对应的数据空间。指针类型不同,访问得到的值就不一样
指针类型赋予了指针访问空间的方式以及访问空间的大小!
(void* == unsigned long)
---------------------
作者:qq_35769746
来源:CSDN
原文:https://blog.csdn.net/qq_35769746/article/details/80632636
版权声明:本文为博主原创文章,转载请附上博文链接!