如何将nsstring转换为cString?

时间:2010-10-26 05:22:48

标签: iphone ios c string-conversion

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

  fopen([filePath cStringUsingEncoding:1], "r");

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

2 个答案:

答案 0 :(得分:17)

使用UTF8String

fopen([filePath UTF8String], "r");

答案 1 :(得分:6)

不要使用UTF8String,而是fileSystemRepresentation

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