fwrite:
fread:
fread/fwrite:
拷贝图片:
#include <stdio.h>int main(void)
{FILE *fsrc = NULL;FILE *fdst = NULL;char tmpbuff[4096] = {0};size_t nret = 0;fsrc = fopen("src.jpg", "r");if (NULL == fsrc){perror("fail to fopen");return -1;}fdst = fopen("dst.jpg", "w");if (NULL == fdst){perror("fail to fopen");return -1;}while (1){nret = fread(tmpbuff, 1, sizeof(tmpbuff), fsrc);if (0 == nret){break;}fwrite(tmpbuff, 1, nret, fdst);}fclose(fsrc);fclose(fdst);return 0;
}
流的定位
概念:
设置流的偏移量
偏移量的设置:
fseek:
ftell:
rewind:
文件IO
概念:
标准IO是一种有缓存的IO,文件IO没有缓存,适合于通信、硬件设备操作
标准IO是库函数,文件IO是系统调用
系统调用与库函数:
系统调用:是linux内核中的代码,只能在linux系统中使用
库函数:是对系统调用的封装,可以在不同的操作系统中安装并使用,库函数最终还是
要系统调用完成对应功能
文件IO函数接口:
函数接口:
文件打开:
有三个特殊的文件描述符:标准输入(0)、标准输出(1)、标准错误(2)
文件描述符特点:
非负整数
取尚未被占用的最小的非负整数
文件描述符是有上限的,到达上限后再打开会报错误
关闭文件描述符:
标准IO对应的文件IO的打开方式:
文件IO读写:
write: