我有一个nsstring(filePath),它有音频文件的路径。我想打开音频文件,所以我想将nsstring转换为Cstring。
fopen([filePath cStringUsingEncoding:1], "r");
以上行是否正确,因为我也可以使用fopen([filePath cString], "r");
。在某些网站中,提到使用UTF8stringEncoding。哪个是字符串转换的正确NSString?
答案 0 :(得分:17)
使用UTF8String
:
fopen([filePath UTF8String], "r");
答案 1 :(得分:6)
不要使用UTF8String
,而是fileSystemRepresentation
。
您应该这样做,因为HFS +或其他文件系统与Unicode系统不严格兼容。另一个原因:此方法通过将抽象路径和扩展分隔符(分别为'/'和'。')替换为当前文件系统的等效字符来进行操作。