嗨,我正在尝试将标准std::string转换成一个,NSString但我没有太多运气.
我可以使用以下代码成功地从NSStringa 转换为astd::string
NSString *realm = @"Hollywood";
std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]];
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试以下操作时,我收到编译时错误
NSString *errorMessage = [NSString stringWithCString:REALM encoding:[NSString defaultCStringEncoding]];
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
Cannot convert 'std::string' to 'const char*' in argument passing
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?
提前致谢.
我只想在C++中用文本文件写一些简单的行,但我希望它们用UTF-8编码.这样做的最简单方法是什么?
如何将a转换CFURLRef为C++ std::string?
我还可以从转换CFURLRef的CFStringRef方式:
CFStringRef CFURLGetString ( CFURLRef anURL );
Run Code Online (Sandbox Code Playgroud)
但现在我有同样的问题.我怎样才能转换CFStringRef为std::string?
我写了一段使用c ++和Objective C的代码.
我需要转换NSString*为char*.[str UTF8string]不起作用,因为它返回const char*.我知道:
std::string- > char*:char* c = const_cast<char*>(pathStr.c_str());
NSString*- > std::string:链接
但它看起来太奇怪了,我仍然无法验证它.我可以用更好的方式转换它,例如,NSString*- > const char*- >char*