如何用scanf从windows命令行读取16进制字符串(空格做分隔符)存储到数组

发布于 2022-10-15 08:22:39 字数 782 浏览 20 评论 0

如题.
下面是我写的实现代码

  1.         unsigned int i=0;
  2.         unsigned char txBuff[512];
  3.         do
  4.         {               
  5.                 scanf("%2x", &txBuff[i]);
  6.         }
  7.         while(txBuff[i++] != '\n');

复制代码输入的字符串为:FF BF 81 F0 0A 01 03 80 00 00 03 03 80 00 00

上面的程序只读到0A就不往下读了。
个人怀疑是01 03的问题,被组合成0x13(也就是回车符)。

编译器:Borland c++ 5.5.1
操作系统: winxp  sp3

基本功没练好,望各位不吝赐教!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

囍孤女 2022-10-22 08:22:39

'\n' 就是0x0A,循环结束

绮筵 2022-10-22 08:22:39

回复 2# hellioncu

    非常感谢!
   脸真的丢大了,'\n'的ASCII码都没搞清。

音盲 2022-10-22 08:22:39

回复 1# tzx85

啊,現在還有人在用Borland C做實際的開發么,還是只做個實驗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文