| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 241 人关注过本帖
标题:读写字符问题。前辈们麻烦指导指导
只看楼主 加入收藏
clcqifeng
Rank: 2
等 级:论坛游民
帖 子:101
专家分:17
注 册:2012-2-16
结帖率:100%
收藏
 问题点数:0 回复次数:2 
读写字符问题。前辈们麻烦指导指导
  g =8
  for(e=0; e<strlen(d); e++){
        if (d[e] == '0'){
          f = f<<1;
          g--;
        }
        else if (d[e] == '1'){
          f = f<<1;
          f += 1;
          g--;
        }
      if (g == 0){
          fwrite(&f, 1, sizeof(f), fop);
          f = 0;
          g = 8;
       }
  }
  if (g != 8){
         while (g--){
             f = f << 1;
         }
         fwrite(&f, 1, sizeof(f), fop);
  }


这个是读字符数组d里面的10101010之类的2进制码,每读8位2进制生成一个字符,d是先前已经算好的2进制。现在我想在一开始就在2进制码前面加个0
例如01010101  变成这样.也是8位2进制.就是每读7位前面加个0组成8位..求指导求指导....
  for(e=0; e<strlen(d); e++){
        if (g== 8){
          f = f<<1;
          g--;
        }        
        if (d[e] == '0'){
          f = f<<1;
          g--;
        }
        else if (d[e] == '1'){
          f = f<<1;
          f += 1;
          g--;
        }
      if (g == 0){
          fwrite(&f, 1, sizeof(f), fop);
          f = 0;
          g = 8;
       }
  }
  if (g != 8){
         while (g--){
             f = f << 1;
         }
         fwrite(&f, 1, sizeof(f), fop);


已经弄好了...前面加0的.        不过虽然能解密```但后面会多出   000000...要删除那些多余添加进来的要怎么做呢...

例如文件里有aa一个字符2进制码为01100001 01100001加密后前面会变成11000011 11000010..然后再解密就变 01100001 01100001 00000000  后面会多出一个 00000000  要怎么把多出那个删除呢。。。










  


[ 本帖最后由 clcqifeng 于 2012-2-28 11:06 编辑 ]
2012-02-28 10:35
clcqifeng
Rank: 2
等 级:论坛游民
帖 子:101
专家分:17
注 册:2012-2-16
收藏
得分:0 
这么多人看没人能指导指导吗
2012-02-28 10:49
clcqifeng
Rank: 2
等 级:论坛游民
帖 子:101
专家分:17
注 册:2012-2-16
收藏
得分:0 
  for(e=0; e<strlen(d); e++){
        if (g== 8){
          f = f<<1;
          g--;
        }        
        if (d[e] == '0'){
          f = f<<1;
          g--;
        }
        else if (d[e] == '1'){
          f = f<<1;
          f += 1;
          g--;
        }
      if (g == 0){
          fwrite(&f, 1, sizeof(f), fop);
          f = 0;
          g = 8;
       }
  }
  if (g != 8){
         while (g--){
             f = f << 1;
         }

=_= 好吧...突然最后面那个写入文件删除掉就不会有多余的0了.......问题解决完毕了......
2012-02-28 11:12
快速回复:读写字符问题。前辈们麻烦指导指导
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019720 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved