我不能够使用int8_t*
类型strlen()
函数内部,它给像int8_t *与strlen()函数不兼容;如何解决这个问题?
来自中int8_t无效转换错误*为const char *`
请帮助我,如何解决这个问题?
如果我从int8_t*
到char*
改变类型,那么它工作正常,但我不能使用char*
按我的项目编码我可以选择使用int8_t
或uint8_t
准则,所以请帮我解决这个问题。
我不能够使用int8_t*
类型strlen()
函数内部,它给像int8_t *与strlen()函数不兼容;如何解决这个问题?
来自中int8_t无效转换错误*为const char *`
请帮助我,如何解决这个问题?
如果我从int8_t*
到char*
改变类型,那么它工作正常,但我不能使用char*
按我的项目编码我可以选择使用int8_t
或uint8_t
准则,所以请帮我解决这个问题。
的 “解决方案”,这是三件事情之一:
char
而不是int8_t
。strlen
型函数。int8_t
到char
在调用网站。演员的解决方案将是这个样子:
int8_t something[100];
... something gets set somehow ...
size_t len = strlen((char *)something);
或C++:
size_t len = strlen(static_cast<char *>(something));
我个人认为选择1是如果正在处理的数据的 “正确” 的一个真的是字符串数据。这就是char
类型的用途,但不适用于int8_t
。
请勿使用int8_t
,除非它满足您的要求。它是而不是是char
的同义词。它是一个带符号的整数类型,其具有,正好为 8位,并且它不会存在于不具有8位整数类型的平台上。当您想要处理char
对象时,请使用类型char
。这就是它的目的。
这是重复吗? http://stackoverflow.com/questions/12381855/int8-t-and-char –
我认为它不是重复的,我想知道,有没有其他方法类似strlen()int8_t类型? – sokid
您必须强制转换或必须编写自己的'strlen'版本,该版本可以在一系列'int8_t'元素上运行。 – jamesdlin