从源文件中读入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;
}

工作中如果用的此类的功能,可以举一反三地修改它,写成一个公共库文件,供第三方调用。

猜你喜欢

转载自blog.csdn.net/hawanglc/article/details/57405568