2 daffodilgirl DaffodilGirl 于 2013.01.15 13:33 提问

转换UITextField ( field.text) NSString *

需要转换NSString* strchar* ch,这样做是为了将其当做函数的参数使用,str是在UITextField获取的。

void CUserSession::Login (char *pUsername, char *pPassword)

首先使用ch = [str UTF8String];之后,

得到错误:

Cannot initialize a parameter of type 'char *' with an rvalue of type 'const char *'

后来改为这样ch = (const uint8_t *)[str UTF8String];

得到错误:

Cannot initialize a parameter of type 'char *' with an rvalue of type 'const uint8_t *' (aka 'const unsigned char *')

2个回答

ccf0703
ccf0703   2013.01.15 14:07
已采纳

这个问题的原因是[str UTF8String]返回的是 const char * 的结果,
而Login函数接收的参数是char*类型的。
强制转化一下,将[str UTF8String]前面加上(char *)

DaffodilGirl
DaffodilGirl 强制转化后可以了,谢谢
接近 5 年之前 回复
lldong1987
lldong1987   2013.01.15 15:06

可以的话应该将 void CUserSession::Login (char *pUsername, char *pPassword) 的参数声明为const,如果该函数不会去修改指针指向的值的话

DaffodilGirl
DaffodilGirl 不过非常感谢你的回答~
接近 5 年之前 回复
DaffodilGirl
DaffodilGirl 我试过了,但是我想要传递值为char类型的,在处理内部API的时候用
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片