vlambda博客
学习文章列表

C语言如何实现拷贝图片?几行代码即可搞定

1 文本文件与二进制文件

  • 根据文件中数据的组织形式的不同,可以把文件分为:文本文件和二进制文件。
  • 文本文件:把要存储的数据当成一系列字符组成,把每个字符的 ASCII 码值存入文件中。每个 ASCII 码值占一个字节,每个字节表示一个字符。故文本文件也称作字符文件或 ASCII 文件,是字符序列文件。
  • 二进制文件:把数据对应的二进制形式存储到文件中,是字节序列文件。

2 文件读写

我们可以使用二进制的方式去读取图片里面的数据,然后,再写入另一个文件!代码如下:

 FILE* fpread = fopen("./bka.jpg", "rb"); FILE* fpwrite = fopen("./img.jpg", "wb"); if (fpread == NULL) { perror("fpread:打开失败"); } if (fpwrite == NULL) { perror("fpwrite:打开失败"); } char ch=0; while(!feof(fpread)) { fread(&ch, sizeof(char), 1, fpread); fwrite(&ch, sizeof(char), 1, fpwrite); //ch = getc(fpread);//可以和上面的代码相互替换 //putc(ch, fpwrite); } fclose(fpread); fclose(fpwrite);