将int数组(十进制相当于ASCII中的一个字符)转换为C语言中的字符串

标签 c arrays string ascii

我正在尝试将整数数组转换为字符串
这些整数相当于ASCII表中的一个字符
例如

int num[5] = {104, 101, 108, 108, 111} //hello

然后保存到

char *text

所以如果这样做(我在 arduino 中编码)

Serial.print(text);

输出将是

hello

最佳答案

你可以这样做。

int i;
int length = sizeof(num) / sizeof(num[0]);

/* copy values */
for (i = 0; i < length; ++i)
    text[i] = (char) num[i];

/* null terminate */
text[length] = 0;

关于将int数组(十进制相当于ASCII中的一个字符)转换为C语言中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082455/

相关文章:

c - 为什么 fread() 没有获得预期的字节?

从 Ua_Variant 进行 C 类型转换

arrays - 将循环缓冲区移位/对齐/旋转到原地零

c++ - For 循环增量器不能用作字符串 vector 的索引

c++ - 使用相同功能时意外收到 "std::out_of_range"错误

c++ - 我可以为 argv 赋值吗?

c - Arduino 与 C : standard/pins_arduino. h 错误

javascript - VueJS2 - 计算属性/方法正在设置 Vue.data?

javascript - 从元素创建 map 对象 JavaScript 添加或删除值

MongoDB 中的字符串与数字比较效率