
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:
1020

被折叠的 条评论
为什么被折叠?



