如何将nsstring转换为cString?

War*_*ior 8 c iphone string-conversion ios

我有一个nsstring(filePath),它有音频文件的路径.我想打开音频文件,所以我想将nsstring转换为Cstring.

  fopen([filePath cStringUsingEncoding:1], "r");
Run Code Online (Sandbox Code Playgroud)

是上面的行是否正确,因为我也可以使用fopen([filePath cString], "r");.在某些网站中,提到使用UTF8stringEncoding.哪个是字符串转换的正确NSString?

Jac*_*kin 17

用途UTF8String:

fopen([filePath UTF8String], "r");
Run Code Online (Sandbox Code Playgroud)

  • 一年后,你救了我的时间:) (3认同)

Ant*_*set 6

不要使用UTF8String,但是fileSystemRepresentation.

您应该这样做,因为HFS +或其他文件系统与Unicode系统不严格兼容.另一个原因:此方法通过将抽象路径和扩展分隔符(分别为'/'和'.')替换为当前文件系统的等效字符来进行操作.