C - 如何将数组中的任何组合char或int连接到int或char类型的二进制字符串

时间:2015-04-11 03:39:43

标签: c arrays binary char concatenation

董事会全新。我真的试图解决我的编程难题,而不会陷入公共论坛,而stackoverflow帮助解决了很多问题,但我很茫然。我希望你能提供帮助。

我试图将数组中的单个数字字符连接/组合成一个采用格式为10101010的二进制字符串形式的变量。不涉及算术,所有字符都是单位数的1和0。我已经在网上搜索了一个解决方案,我已经尝试了strcat(),otoi(),sprintf()等等。我甚至尝试使用String array []来构造我的变量,然后使用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]获取任何数字并将它们组合成所需的格式。说实话,我对将字符添加到新数组中并不感兴趣,但我已经到了尝试任何事情的地步。我的偏好是通过单个变量访问结果,然后用于按位操作并将输入直接输入到集成组件中。比你提供任何帮助。

1 个答案:

答案 0 :(得分:1)

查看Converting an int into a base 2 cstring/string

并注意(如果您使用的是Linux)我认为已弃用的函数名称为_itoa。