从源文件中读入2048个字节到目标文件
该程序演示了fopen,fread,fwrite的基础用法。
/* 功能说明: 从源文件中读入2048个字节到目标文件 代码说明: 实现方式: 该程序演示了fopen,fread,fwrite的基础用法。 限制条件或者存在的问题: 无 */ #include <stdio.h> #include <stdlib.h> #define BUFFER_SIZE 2048 int main(int argc, char ** argv) { if (argc != 2) { printf("parameter error! usage:\n\t[%s file_path_name]\n", argv[0]); return -1; } FILE *fp_read = fopen(argv[1], "rb"); if (!fp_read) { printf("open read file [%s] error!\n", argv[1]); return -2; } FILE *fp_write = fopen("file_name.dat", "wb"); if (!fp_write) { printf("open write file [file_name.dat] error!\n"); fclose(fp_read); return -3; } char buffer[BUFFER_SIZE + 1] = { 0 }; if (fread(buffer, BUFFER_SIZE, 1, fp_read) != 1) // fread就是从文件指示符中读取指定大小的内容到内存中。它与fgets是不一样的。 { printf("read file [%s] error!\n", argv[1]); fclose(fp_read); fclose(fp_write); return -4; } if (fwrite(buffer, BUFFER_SIZE, 1, fp_write) != 1) { printf("write file [file_name.dat] error!\n"); fclose(fp_read); fclose(fp_write); return -5; } fclose(fp_read); fclose(fp_write); return 0; }
这个代码可以复用到我现在的工作中。