【发布时间】:2015-04-11 03:39:43
【问题描述】:
全新的董事会。我真的尝试在不陷入公共论坛的情况下解决我的编程难题,stackoverflow 帮助解决了许多问题,但我不知所措。我希望你能帮忙。
我正在尝试将数组中的单个数字字符连接/组合成一个变量,该变量采用格式为 10101010 的二进制字符串的形式。不涉及算术,所有字符都是个位数的 1 和 0。我在网上搜索了一个解决方案,我尝试了 strcat()、otoi()、sprintf() 等所有方法。我什至尝试使用字符串数组 [] 来构造我的变量,然后使用 strtoul() 转换类型.下面的代码反映了我最近的尝试,它编译成功,但似乎产生了空白字符。了解到我可能无法使用此解决方案,因此我愿意接受任何可行的解决方案。
代码:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include <stdlib.h>
char digit[48] = "";
char buf[9];
snprintf(buf, sizeof buf, "%s%c", digit[16], digit[17], digit[18], digit[19], digit[20],_
digit[21], digit[22], digit[23]);
如您所见,我们的想法是能够从char digit[48] 中获取任何数字并将它们组合成所需的格式。老实说,我对将字符添加到新数组中不感兴趣,但我已经到了尝试任何东西的地步。我的偏好是通过单个变量访问结果,然后用于按位运算并直接输入到集成组件中。感谢您提供的任何帮助。
【问题讨论】:
标签: c arrays binary char concatenation