ste*_*osn 1 objective-c nsstring ios
我有这行代码导致我的应用程序崩溃.
trimmedtext=[NSString stringWithCString:[mycharstring cStringUsingEncoding:[ NSString defaultCStringEncoding ] ] encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
错误是:*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* + [NSString stringWithCString:encoding:]:NULL cString'
它崩溃了,因为我认为在我的NSString中有一些NULL字符.
NSLog给了我'friendXx',字符串中有一个表情符号!
我怎样才能克服这个问题?
任何帮助赞赏.
正确答案:text = [NSString stringWithCString:[mycharstring UTF8String] encoding:NSUTF8StringEncoding];
小智 6
它崩溃了,因为我的NSString中有NULL字符.
除了它没有.
问题是C字符串(类型const char *)是一个值为的指针NULL,即它是无效指针.其主要原因可能是,例如,mycharstring变量是nil.
编辑:所以字符串中有一些符号,默认的C字符串编码无法处理,这就是它返回NULL的原因.请尝试使用[mycharstring UTF8String].
| 归档时间: |
|
| 查看次数: |
3283 次 |
| 最近记录: |