每日一算法:二进制文件的处理

举报
悦来客栈的老板 发表于 2020/12/30 01:57:05 2020/12/30
【摘要】 // BinToHex.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include "BinToHex.h" #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] =...

  
  1. // BinToHex.cpp : Defines the entry point for the console application.
  2. //
  3. #include "stdafx.h"
  4. #include "BinToHex.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /
  11. // The one and only application object
  12. CWinApp theApp;
  13. using namespace std;
  14. int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
  15. {
  16. CString FileNameSrc = argv[1];
  17. CString FileNameTag = FileNameSrc + ".h";
  18. FILE *fp1;
  19. FILE *fp2;
  20. int ch;
  21. int count = 0;
  22. fp1 = fopen(FileNameSrc,"rb");
  23. if (!fp1)
  24. {
  25. return 0;
  26. }
  27. fp2 = fopen(FileNameTag,"wb+");
  28. fputs("const unsigned char BintoHex[]={ \r\n\r\n",fp2);
  29. while (((ch = fgetc(fp1))) != EOF)
  30. {//每读取一个字符,在它前面添加0x,后面添加 , 号,
  31. fputs("0x",fp2);
  32. if (ch <= 0xf)
  33. {
  34. fputc('0',fp2);
  35. }
  36. fprintf(fp2,"%X",ch);
  37. fputc(',',fp2);
  38. count++;
  39. if (count % 16 == 0)
  40. {
  41. fputs("\r\n",fp2);
  42. }
  43. }
  44. fputs("\r\n}",fp2);
  45. fclose(fp1);
  46. fclose(fp2);
  47. return 0;
  48. }

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/14517141

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。