文件编程之库函数调用

来源:互联网 发布:php推广系统源代码 编辑:程序博客网 时间:2024/05/19 00:55

1.相关函数

FILE *fopen(const char *pathname, const char *mode)

成功时返回文件指针,否则返回NULL.

int fseek(FILE *stream, long offset, int origin)

int fread(void *ptr, int size, int num, FILE*stream);

int fwrite(void *ptr, int size, int count, FILE *stream);

举例实现文件复制

int main(int argc,char **argv) { FILE *from_fd;FILE *to_fd; long file_len=0;char buffer[BUFFER_SIZE]; char *ptr; /*判断入参*/if(argc!=3) { printf("Usage:%s fromfile tofile\n",argv[0]); exit(1); } /* 打开源文件 */ if((from_fd=fopen(argv[1],"rb"))==NULL) { printf("Open %s Error\n",argv[1]); exit(1); } /* 创建目的文件 */ if((to_fd=fopen(argv[2],"wb"))==NULL) { printf("Open %s Error\n",argv[2]); exit(1); } /*测得文件大小*/fseek(from_fd,0L,SEEK_END);file_len=ftell(from_fd);fseek(from_fd,0L,SEEK_SET);printf("from file size is=%d\n",file_len);/*进行文件拷贝*/while(!feof(from_fd)) { fread(buffer,BUFFER_SIZE,1,from_fd);if(BUFFER_SIZE>=file_len){fwrite(buffer,file_len,1,to_fd);}else {fwrite(buffer,BUFFER_SIZE,1,to_fd);file_len=file_len-BUFFER_SIZE;}bzero(buffer,BUFFER_SIZE);} fclose(from_fd); fclose(to_fd); exit(0); } 


 

0 0
原创粉丝点击