转换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 *')

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

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