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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
markedTextRange理解及使用 计算长度
在开发的时候大家有时候会遇见这样的问题:在使用UITextField或UITextView实时实时计算content的长度的时候会出现一些偏差,如何准确的去计算统计这些字符呢? 可以发现UITextField或UITextView输入文字的时候输入的文字会有两个状态——选中与未选中。在实时计算长度的时候肯定计算的是选中后的text,那如何区分这个状态呢?这是就用到了markedTextRange
Field.Text AND Field.Keyword in Lucene
 lucene 2.0中去掉了Field.Text和Field.KeyWord,不过网上的sample code还在用,所以会造成许多刚接触lucene的人遇到问题,我就是其中一个。新的写法需要直接new一个Field对象: Reader txtReader = new FileReader(f); doc.add(new Field(”path”,f.ge
Swift中NSString与String转换
var text: NSString = NSString(CString: titleLabel!.text!.cStringUsingEncoding(NSUTF8StringEncoding)!, encoding: NSUTF8StringEncoding)titleLabel!.text
Objective-c NSString和char*之间的转换
Objective-c  NSString和char*之间的转换  Java代码   NSString *string_content = "I'm jordy";   char *char_content = [string_content cStringUsingEncoding:NSASCIIStringEncoding];   char*转换为N
CFStringRef和NSString相互转换
用强制类型转换: CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSString = (NSString *)aCFString;
NSString转为基本数据类型
学习目标 1.Objective-C 字符串转为基本数据类型
NSString 的各种转换
1、NSString 转成dictionary 格式:可以通过JSON 转换/** * 字符串转字典 * * @param jsonString 字符串 * * @return NSDictionary */ + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString =
35.NSString 与 Class/Protocol/SEL 相互转化
简述在开发中, 我们有时候视图用字符串来替代Calss 或者protoclo 或者SEL 的情况, 因为这样会更加灵活和方便。今天就来看一看,这是它们之间是怎么样相互转化的。
std::string和NSString互转
1.std::string转NSString std::string _string("hello"); NSString *str= [NSString stringWithCString:_string.c_str() encoding:[NSString defaultCStringEncoding]]; 2.NSString转std::string
NDData* 和 NSString* 以及NSSting* 和 char* 相互转化
1、NSData,数据,当我们需要把一些信息写入到文件里或发送到网络上,我们需要把这些数据转换下,变成纯粹的0、1字符流 1 NSString * str = @"hello, world!"; 2 NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSString转换成NSData类型 3 NSLog(@"%s"