嗨,我正在尝试将标准 std::string 转换为 NSString,但我运气不佳。

我可以使用以下代码从 NSString 成功转换为 std::string

NSString *realm = @"Hollywood";
std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]];

但是,当我尝试以下操作时出现编译时错误
NSString *errorMessage = [NSString stringWithCString:REALM encoding:[NSString defaultCStringEncoding]];

我得到的错误是
Cannot convert 'std::string' to 'const char*' in argument passing

我在这里错过了什么吗?

提前致谢。

最佳答案

从 std::string 中取出 c-string 进行转换:

NSString *errorMessage = [NSString stringWithCString:REALM.c_str()
                                   encoding:[NSString defaultCStringEncoding]];

关于objective-c - 如何将 std::string 转换为 NSString?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3552195/

10-15 08:07