我需要把C-字符串转换成NSString。
我该怎么做?
我知道怎么把它变成另一种方式,
NSString *hello = @"Hello!";
const char *buffer;
buffer = [schoolName cStringUsingEncoding: NSUTF8StringEncoding];
NSLog(@"C-String is: %s", buffer);但是,如何将Objective字符串(Objective,NSString)转换为NULL-TERMINATED字符串。
谢谢!
发布于 2013-10-28 18:37:15
const char *buffer = [hello UTF8String];会做你想要的。
现在要回答新的(非常不同的)问题:
例如,如果您有const char *cstring = "hello world";,您可以通过:NSString *nsstring = [NSString stringWithFormat:@"%s", cstring];创建一个NSString *
当然,也有其他方法来完成同样的事情。
发布于 2013-10-28 18:52:55
NSString* str = [NSString stringWithUTF8String:(const char *)]或
NSString* str = [NSString stringWithCString:(const char *) encoding:(NSStringEncoding)]或
NSString* str = [NSString stringWithCharacters:(const unichar *) length:(NSUInteger)]发布于 2013-10-28 18:45:11
试着做这样的事情:
- (wchar_t*)getWideString
{
const char* temp = [schoolName cStringUsingEncoding:NSUTF8StringEncoding];
int buflen = strlen(temp)+1; //including NULL terminating char
wchar_t* buffer = malloc(buflen * sizeof(wchar_t));
mbstowcs(buffer, temp, buflen);
return buffer;
};https://stackoverflow.com/questions/19642474
复制相似问题