【发布时间】:2020-12-19 08:14:19
【问题描述】:
我不熟悉C编程,习惯在C#中通过ToString()将一些变量转换为字符串。
但是现在我需要为一些嵌入式 Linux 系统写一个类似的 C 函数。
最常用的方法是什么?
例如:
unsigned short a = 1234;
char* a_string = malloc(5);
char* ToString(unsigned short v)
{
char* str
...
...
return str;
}
int main()
{
a_string = ToString(a);
}
// result : a_string[0] = '1', a_string[1] = '2', a_string[2] = '3', a_string[3] = '4', a_string[4] = '\0'
我会很感激一些提示或方向。
【问题讨论】:
-
见
sprintf和朋友们。 -
char* a_string = malloc(5);后跟a_string = ToString(a);是潜在的内存泄漏。更不用说你通常不应该使用全局变量。 -
是的,
sprintf()(为了安全起见,snprintf()!)是最通用的方式。 -
要解决您的问题,请访问 - geeksforgeeks.org/…
-
@Someprogrammerdude:说句公道话,你说通常从不,不管这可能意味着什么;-) 但我们不要在这里跑题。我们同意不应该将全局变量用于 OP 在这里试图实现的目标。
标签: c