你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

C语言实现拷贝图片

[复制链接]
gaosmile 发布时间:2020-8-13 21:54
1 文本文件与二进制文件
  • 根据文件中数据的组织形式的不同,可以把文件分为:文本文件和二进制文件。
  • 文本文件:把要存储的数据当成一系列字符组成,把每个字符的 ASCII 码值存入文件中。每个 ASCII 码值占一个字节,每个字节表示一个字符。故文本文件也称作字符文件或 ASCII 文件,是字符序列文件。
  • 二进制文件:把数据对应的二进制形式存储到文件中,是字节序列文件。1 k6 q5 |$ [2 U" h7 O3 ]

. W2 V1 L3 v* _% J; b5 @2 文件读写

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


  1. ; @  A8 o2 e: z$ u0 b/ g* [/ @9 l
  2.   FILE* fpread = fopen("./bka.jpg", "rb");, i3 _& ]" ~7 D: @! f" n- H
  3.   FILE* fpwrite = fopen("./img.jpg", "wb");6 n  t% C2 a; |
  4.   if (fpread == NULL)( [2 q+ f4 k: w8 V( w; k; {
  5.   {
    2 J" A$ S% x5 y, C9 Y8 B/ \5 b
  6.     perror("fpread:打开失败");% @: W) I8 U6 |
  7.   }; E2 e; ~2 w( Y& }/ v7 L
  8.   if (fpwrite == NULL)9 u8 l. e, c/ u& v+ v8 e
  9.   {
    . F5 ?) g  [/ g& o+ b7 E* q- |1 M' Y
  10.     perror("fpwrite:打开失败");2 {8 i; x: p! I, w" F
  11.   }
    ' ^/ z, n1 X3 p1 c
  12.   char ch=0;
    # y. `2 m# W+ ^, ^5 c( b
  13.   while(!feof(fpread))5 Q" g( K1 P. t
  14.   {* h! g; {2 {. _& s, m
  15.     fread(&ch, sizeof(char), 1, fpread);4 C! r8 R# L% g7 {: T- u1 o; H: `8 l
  16.     fwrite(&ch, sizeof(char), 1, fpwrite);
    5 R* m9 Z, J8 O6 b
  17.     //ch = getc(fpread);//可以和上面的代码相互替换0 K! q+ |% l) V
  18.     //putc(ch, fpwrite);
    6 q1 [% j* K% H8 y0 ?5 H
  19.   }
    ! w9 D- W% {. I, q
  20.   fclose(fpread);
    7 o3 {! P5 `$ L* V1 V/ D
  21.   fclose(fpwrite);
复制代码
6 m' O, E+ h( j; P, x8 F

& r7 F* f; O/ k, x' R6 G
赞 收藏 1 评论0 发布时间:2020-8-13 21:54

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版