c语言u16转字符串,返回字符串
时间: 2023-09-19 09:06:20 浏览: 288
C 16进制数据转字符串
将u16类型的数值转换成字符串的方法有很多种,下面是一种简单的实现:
```
#include <stdio.h>
#include <stdlib.h>
char *u16_to_string(unsigned short int num) {
char *str = (char *)malloc(6 * sizeof(char)); // 最大长度为5加上一个结束符号'\0'
if (str == NULL) {
return NULL;
}
sprintf(str, "%hu", num); // 将u16数值转换成字符串
return str;
}
int main() {
unsigned short int num = 12345;
char *str = u16_to_string(num);
printf("%s\n", str);
free(str);
return 0;
}
```
在函数u16_to_string中,我们先用malloc分配了一个初始长度为6个字节的字符数组(最大长度为5的u16数值加上一个结束符号'\0'),然后用sprintf将u16数值转换成字符串。最后返回该字符数组的地址。在主函数中,我们调用u16_to_string,并且打印出了返回的字符串。注意,用完动态分配的内存后,要记得使用free释放。
阅读全文