size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb,
FILE *stream);
从stream中读取内容到ptr去,读取nmemb个对象,每个对象有size大小。(即ptr的大小=nmemb*size)
#include<stdio.h>
#include<stdlib.h>
#define bufsize 1024
int main(int argc,char **argv)
{
FILE *fps,*fds;
int n;
char buf[bufsize];
if(argc<3)
{
fprintf(stderr,"Usage:%s <src_file> <dest_file>\n",argv[0]);
exit(1);
}
fps = fopen(argv[1],"r");
if(fps==NULL)
{
perror("fopen:");
exit(1);
}
fds = fopen(argv[2],"w+");
if(fds==NULL)
{
perror("fopen:");
exit(1);
}
fds = fopen(argv[2],"w+");
if(fds==NULL)
{
fclose(fps);
perror("fopen:");
exit(1);
}
while(n=fread(buf,1,bufsize,fps)>0)
{
fputs(buf,1,n,fds);
}
fclose(fps);
fclose(fds);
exit(0);
}
notes:要注意读入读出的对象。