如何用scanf从windows命令行读取16进制字符串(空格做分隔符)存储到数组
如题.
下面是我写的实现代码
- unsigned int i=0;
- unsigned char txBuff[512];
- do
- {
- scanf("%2x", &txBuff[i]);
- }
- 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技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
'\n' 就是0x0A,循环结束
回复 2# hellioncu
非常感谢!
脸真的丢大了,'\n'的ASCII码都没搞清。
回复 1# tzx85
啊,現在還有人在用Borland C做實際的開發么,還是只做個實驗?