16 Stimmen

Wie funktioniert fopen() auf dem iPhone?

Das iPhone SDK docs Anspruch fopen() ist eine unterstützte Methode des Dateizugriffs, aber ich bin nicht in der Lage, es zu bekommen, um ein FILE-Handle zurückgeben. Ich greife auf ein Verzeichnis zu, das in meinem Projekt enthalten ist. Ich habe fopen "filename", "dir/filename","./filename","./dir/filename","/dir/filename" ausprobiert, die alle einen Null-Zeiger zurückgeben. Einige Leute berichten, dass sie es ohne Probleme benutzen, also bin ich sicher, dass es etwas Einfaches ist!

23voto

Nick Van Brunt Punkte 14922

Nur um das klarzustellen, um eine Datei "some.txt" zu öffnen...

NSString * path = [[NSBundle mainBundle] pathForResource:  @"some" ofType: @"txt"];
FILE *f = fopen([path cStringUsingEncoding:1],"r");
if (f == NULL) NSLog([path stringByAppendingString:@" not found"]);

0 Stimmen

Nette Antwort: Wie kann man den Inhalt von Audiodateien nach dem Öffnen sehen?

3 Stimmen

Anstelle von [path cStringUsingEncoding:1] können Sie auch verwenden path.UTF8String

22voto

Ben Gottlieb Punkte 84876

Wenn Sie versuchen, auf eine Datei innerhalb Ihres Anwendungsbündels zuzugreifen, müssen Sie den vollständigen Pfad zu dieser Datei erhalten: [[NSBundle mainBundle] pathForResource: FILENAME ofType: FILEEXTENSION]

Dies gibt einen NSString zurück, aus dem Sie einen UTF8String ziehen und an fopen übergeben können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X