2010-10-26 26 views
8

Ich habe einen Nstring (Dateipfad), der den Pfad zur Audiodatei hat. Ich möchte die Audiodatei öffnen, also möchte ich den Nstring zu Cstring konvertieren.Wie konvertiert man NSString zu CString?

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

ist die obige Zeile korrekt ist oder nicht, weil ich auch fopen ([filePath cString], „r“) ;, In einigen Websites wird erwähnt, verwenden UTF8stringEncoding.Which ist das die richtige NSString verwenden um die Umwandlung zu string.Please mir aus.Thanks.

Antwort

17

Verwendung UTF8String:

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

kann ich den unterschied zwischen ihrer antwort und was ich benutzt.wie zu überprüfen, ob es funktioniert gut? – Warrior

+0

@Warrior, ich denke, dass das Lesen der Dokumentation Ihre Bedenken beseitigen wird. –

+0

sind Sie wissen, wie Audiodatei in Nsdata konvertieren ich Exportsitzung verwenden, ist aber immer gescheitert – GhostRider

6

Verwenden UTF8String nicht, aber fileSystemRepresentation.

Sie sollten dies tun, weil HFS + oder andere Dateisysteme nicht streng kompatibel mit dem Unicode-System sind. Ein weiterer Grund: Bei dieser Methode werden die Trennzeichen für den abstrakten Pfad und die Erweiterung ("/" bzw. ".") Durch ihre Entsprechungen für das aktuelle Dateisystem ersetzt.

+0

Sie sollten mit mehr Details erklären, warum Sie nicht mit akzeptierter Antwort einverstanden sind. – manuell

+0

Weil HFS + oder andere Dateisysteme nicht streng kompatibel mit dem Unicode-System sind. Ein weiterer Grund: Bei dieser Methode werden die Trennzeichen für den abstrakten Pfad und die Erweiterung ("/" bzw. ".") Durch ihre Entsprechungen für das aktuelle Dateisystem ersetzt. –

+0

Gut, also aktualisieren Sie einfach die Antwort :-) – manuell