【问题标题】:C converting value char to string charC将值char转换为字符串char
【发布时间】:2013-05-13 17:22:45
【问题描述】:

如何将 char=2 转换为 char="2" ?

我需要它通过 uart 发送,但是当我尝试将 char 作为 2 发送时,我什么也得不到,但是当我作为“2”发送时,我得到 2

重点是,我有

int s=2;

我需要把它写成“2”而不是 2。 我尝试了几种方法,但总是失败。当终端中的 char = 2 消息为空时,当 char 签名为“2”时,它工作正常。当我尝试将 int 转换为 char 时,char 总是被签名为 2,我不能只通过 uart 发送 int 因为块发送函数需要指针。

【问题讨论】:

    标签: c string char type-conversion


    【解决方案1】:

    您可以使用itoa() 将整数转换为字符。

    http://www.jb.man.ac.uk/~slowe/cpp/itoa.html

    【讨论】:

    • 试过但编译器说stdlib.h中没有itoa函数这个应用程序不是为pc编写的。
    • 有。因此,您可能尝试将其与无效参数一起使用。 cplusplus.com/reference/cstdlib/itoa
    • 未定义对 'itoa' 的引用,#include
    • 我查过了。 Itoa 未在 ANSI C 中定义,但某些编译器支持。如果它不起作用,请像在链接页面上一样为自己编写
    • 如果我无法完成这项工作,我该如何为自己编写它,对不起,我是 C 语言的新手。
    【解决方案2】:

    如果您一次只需要一个字符,您也可以使用以下内容:

    char s =2;
    s+='0'; 
    

    【讨论】:

    • 通常有十几个字符。
    【解决方案3】:

    用于通过 uart 发送的调用的函数头是什么?你能告诉我们更多关于设备是什么的信息吗?

    您可以修改一端的发送方式,也可以更改另一端的阅读方式。大概您可以将数据读取为整数,或将其转换为整数,因此并非所有内容都必须通过字符串发送,整个转换问题就会消失。

    话虽如此,您可以通过添加常量 48 将 0-9 从整数转换为 ascii 代码,但我认为这并不是您真正想要的。

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 2012-01-16
      • 2010-11-22
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      相关资源
      最近更新 更多