- fread函数:
- 功能:从文件中读取
nmemb 项数据
,其中每项
数据size个字节
,并存放到指针ptr
; - 具体内容:
c
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
/*
参数:
ptr: 用来保存读取的数据的首地址
size: 每一项的大小
nmemb: 项目的个数
stream:文件指针
返回值:
成功 实际读取的项目数
只有当size==1时 返回的才是字节数
失败 小于项目的个数
*/
- fwrite函数:
- 功能:向文件中写入
nmemb 项数据
,其中每项数据size个字节
; - 具体内容:
c
#include <stdio.h>
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
/*
参数:
ptr: 要写入的数据的首地址
size: 每一项的大小
nmemb: 项目的个数
stream:文件指针
返回值:
成功 实际写入的项目数
只有当size==1时 返回的才是字节数
失败 小于项目的个数
*/
- 示例代码:
c
#include <stdio.h>
int main(int argc, const char *argv[]){
if(3 != argc){
printf("Usage : %s src_file dest_file\n",argv[0]);
return -1;
}
FILE *fd1 = fopen(argv[1],"r");
if(NULL == fd1)
{
perror("fopen error");
return -1;
}
FILE *fd2 = fopen(argv[2],"w");
if(NULL == fd2)
{
perror("fopen error");
return -1;
}
int ret = 0;
char buff[128] = {0};
while(!(feof(fd1) || ferror(fd1))){
ret = fread(buff,1,sizeof(buff),fd1);
fwrite(buff,1,ret,fd2);
}
fclose(fd1);
fclose(fd2);
return 0;
}