Sar*_*ati 28 iphone objective-c ios
我想在UITextField中显示char*
情况:
char *data;
char *name=data+6;
txtName.text=[[NSString alloc] initWithCString:name encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
但我没有得到正确的价值.
tro*_*foe 58
要创建NSString
a const char *
,只需使用以下方法:
返回一个autorelease
d对象:
[NSString stringWithUTF8String:name];
Run Code Online (Sandbox Code Playgroud)
返回一个retain
d对象:
[[NSString alloc] initWithUTF8String:name];
Run Code Online (Sandbox Code Playgroud)
参考.
如果您没有得到正确的值,那么数据就会出错.添加一些NSLog
调用以查看字符串包含的内容.
你能指望什么?您有一个未初始化的字符*。然后,将6加到指针,该指针已经是未定义的行为。然后,您尝试将一个指针指向一个指向NSString *的旧垃圾(并且您不知道它指向的位置)。一切都不会因此而来。
使用ASCII或UTF-8编码定义一个指向实际的真实C字符串的char *。然后创建一个NSString像这样:
char* cstring = "Try harder";
NSString* objcstring = @(cstring);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36644 次 |
最近记录: |