1 文本文件与二进制文件- 根据文件中数据的组织形式的不同,可以把文件分为:文本文件和二进制文件。
- 文本文件:把要存储的数据当成一系列字符组成,把每个字符的 ASCII 码值存入文件中。每个 ASCII 码值占一个字节,每个字节表示一个字符。故文本文件也称作字符文件或 ASCII 文件,是字符序列文件。
- 二进制文件:把数据对应的二进制形式存储到文件中,是字节序列文件。1 k6 q5 |$ [2 U" h7 O3 ]
. W2 V1 L3 v* _% J; b5 @2 文件读写我们可以使用二进制的方式去读取图片里面的数据,然后,再写入另一个文件!代码如下:
; @ A8 o2 e: z$ u0 b/ g* [/ @9 l- FILE* fpread = fopen("./bka.jpg", "rb");, i3 _& ]" ~7 D: @! f" n- H
- FILE* fpwrite = fopen("./img.jpg", "wb");6 n t% C2 a; |
- if (fpread == NULL)( [2 q+ f4 k: w8 V( w; k; {
- {
2 J" A$ S% x5 y, C9 Y8 B/ \5 b - perror("fpread:打开失败");% @: W) I8 U6 |
- }; E2 e; ~2 w( Y& }/ v7 L
- if (fpwrite == NULL)9 u8 l. e, c/ u& v+ v8 e
- {
. F5 ?) g [/ g& o+ b7 E* q- |1 M' Y - perror("fpwrite:打开失败");2 {8 i; x: p! I, w" F
- }
' ^/ z, n1 X3 p1 c - char ch=0;
# y. `2 m# W+ ^, ^5 c( b - while(!feof(fpread))5 Q" g( K1 P. t
- {* h! g; {2 {. _& s, m
- fread(&ch, sizeof(char), 1, fpread);4 C! r8 R# L% g7 {: T- u1 o; H: `8 l
- fwrite(&ch, sizeof(char), 1, fpwrite);
5 R* m9 Z, J8 O6 b - //ch = getc(fpread);//可以和上面的代码相互替换0 K! q+ |% l) V
- //putc(ch, fpwrite);
6 q1 [% j* K% H8 y0 ?5 H - }
! w9 D- W% {. I, q - fclose(fpread);
7 o3 {! P5 `$ L* V1 V/ D - fclose(fpwrite);
复制代码 6 m' O, E+ h( j; P, x8 F
& r7 F* f; O/ k, x' R6 G |