【问题标题】:Convert array of int (decimal equivalent to a character in ASCII) to a string in C language将 int 数组(相当于 ASCII 字符的十进制数)转换为 C 语言中的字符串
【发布时间】:2013-11-19 21:29:45
【问题描述】:

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

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

然后保存到

char *text

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

Serial.print(text);

输出将是

hello

【问题讨论】:

    标签: c arrays string ascii


    【解决方案1】:

    你可以这样做。

    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;
    

    【讨论】:

    • 除非 arduino 的 C 编译器与 ansi C 编译器不同,否则您应该将 int 类型转换为 char:text[i] = (char)num[i];
    • 我什么也没得到。它只是空白。我什至尝试了 Barzee 的建议。还有其他想法吗?
    猜你喜欢
    • 2022-01-09
    • 2022-01-09
    • 2012-09-28
    • 2021-11-05
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多