将u_char转换为char
我有一个函数,它在将u_char转换为char,c,char,C,Char,我有一个函数,它在u\u char数组中返回一个值。有没有办法将其转换为char字符串 以下是我所拥有的: u_char *buf = NULL; size_t out_len = 0; out\u len返回更新的“买我的”函数的字符数。 另外,我不确定buf是否以null结尾。 我试过printf(“%s”,buf_len,buf)
u\u char
数组中返回一个值。有没有办法将其转换为char
字符串
以下是我所拥有的:
u_char *buf = NULL;
size_t out_len = 0;
out\u len
返回更新的“买我的”函数的字符数。
另外,我不确定buf
是否以null结尾。
我试过
printf(“%s”,buf_len,buf)但那似乎不起作用。据我所知,printf(“%s”,buf_len,buf)代码>将查找以NULL结尾的字符串
一种解决方案是使用strncpy
将所有字符复制到一个数组中
strncpy(my_array, (const char *)buf, buf_len);
确保my_array
应该足够大,可以容纳buf
和一个空字符。sprintf()可以(或memcpy/strcpy),但这取决于实现。此外,请注意,字符数组中的项目数并不等于字符数(因为字符的编码和区域性特定定义)。