2010-10-26 15 views
8

Mam nsstring (filePath), który ma ścieżkę do pliku audio. Chcę otworzyć plik audio, więc chcę przekonwertować nsstring na Cstring.Jak przekonwertować nsstring na cString?

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

jest powyżej linii jest prawidłowe czy też nie, ponieważ można również używać fopen ([filePath cstring] „R”) ;, W niektórych stron jest on podany w użyciu UTF8stringEncoding.Which jest odpowiedni NSString do konwersji ciągów. Proszę mi pomóc. Dzięki.

Odpowiedz

17

Zastosowanie UTF8String:

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

Czy znam różnicę między Twoją odpowiedzią a tym, czego użyłem. Jak sprawdzić, czy działa poprawnie? – Warrior

+0

@Warrior, myślę, że przeczytanie dokumentacji wyjaśni wszelkie twoje obawy. –

+0

Czy wiesz, jak konwertować plik audio w Nsdata Używam sesji eksportu, ale zawsze się nie udało – GhostRider

6

Nie używaj UTF8String, ale fileSystemRepresentation.

Powinieneś to zrobić, ponieważ HFS + lub inne systemy plików nie są ściśle zgodne z systemem Unicode. Inny powód: ta metoda działa poprzez zastąpienie abstrakcyjnych znaków separatora ścieżki i rozszerzenia (odpowiednio "/" i ".") Ich odpowiednikami dla bieżącego systemu plików.

+0

Powinieneś wyjaśnić więcej szczegółów, dlaczego nie zgadzasz się z zaakceptowaną odpowiedzią. – manuell

+0

Ponieważ HFS + lub inne systemy plików nie są ściśle zgodne z systemem Unicode. Inny powód: ta metoda działa poprzez zastąpienie abstrakcyjnych znaków separatora ścieżki i rozszerzenia (odpowiednio "/" i ".") Ich odpowiednikami dla bieżącego systemu plików. –

+0

Dobrze, więc po prostu zaktualizuj odpowiedź :-) – manuell