[英]convert from unsigned char to char*
我有一个当前返回unsigned char
的函数。 但是,我想将unsigned char
转换为char*
但是我一直在将指针从/强制转换为不同大小的整数。
令foo
为返回无符号字符的函数
我尝试过这样的事情:
char* convert = (char*)foo();
转换为char*
的原因是因为我需要使用strcasecmp
函数来执行字符串比较。
您根本无法将非指针函数的返回值转换为指针。 考虑一下,此指针将指向何处?
但是,您可以将结果保存到变量中并具有指向它的指针。 例如,
char tmp = (char) foo();
char * ptr = &tmp;
编辑:
另一个答案是,如果要使用strcasecmp
,则需要一个char
数组,其中最后一个字节是空终止符。
要实现您想要的,请使用以下代码:
char array [2];
array [0] = (char) foo ();
array [1] = '\0';
...
... strcasecmp (array, ...);
这将构建一个包含单个字符的字符串的数组,然后可以使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.