2010-10-26 107 views
8

我有一個nsstring(filePath),它有音頻文件的路徑。我想打開音頻文件,所以我想將nsstring轉換爲Cstring。如何將nsstring轉換爲cString?

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

是上面的行的正確與否,因爲我還可以使用的fopen([文件路徑CSTRING],「R」);,在它被提及使用UTF8stringEncoding.Which一些網站是正確的NSString以字符串轉換。請幫助我。謝謝。

回答

17

使用UTF8String

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

我可以知道你的答案和我用什麼來檢查它是否工作正常嗎? – Warrior 2010-10-26 05:31:14

+0

@Warrior,我認爲閱讀文檔將清除您可能遇到的任何問題。 – 2010-10-26 05:31:49

+0

你知道如何轉換Nsdata中的音頻文件我使用導出會話,但總是失敗 – GhostRider 2010-10-26 06:03:08

6

不要使用UTF8String,但fileSystemRepresentation

您應該這樣做,因爲HFS +或其他文件系統與Unicode系統不嚴格兼容。另一個原因:此方法通過用當前文件系統的等效替換抽象路徑和擴展分隔符字符(分別爲'/'和'。')來操作。

+0

你應該更詳細地解釋爲什麼你似乎不同意接受的答案。 – manuell 2014-02-02 17:00:44

+0

由於HFS +或其他文件系統不與Unicode系統嚴格兼容。另一個原因:此方法通過用當前文件系統的等效替換抽象路徑和擴展分隔符字符(分別爲'/'和'。')來操作。 – 2014-02-04 16:22:35

+0

好,所以只需更新答案:-) – manuell 2014-02-04 16:27:49