我需要将uint16_t值转换为字符串。我希望字符串是数字的十进制表示。
示例:uint16_t i = 256字符串:256
我尝试使用itoa(i,string, 10)
但是当i
值增加时会开始打印负值
我通过串口发送字符串。(UART)
它有一些替代方案吗?
答案 0 :(得分:0)
您可以尝试将sprintf()
用于常见"来字符串"转换。例如:
#include <stdio.h>
#include <math.h>
int main() {
uint16_t i = 256;
char str[80];
int str_len = sprintf(str, "%d", i);
return(0);
}
有关详细信息,请查看this article。
答案 1 :(得分:0)
/nbproject
使用sprintf
格式%u
:
unsigned int