2008-11-25 6 views
16

La revendication docs iPhone SDK fopen() est une méthode d'accès aux fichiers prise en charge, mais je n'arrive pas à l'obtenir pour renvoyer un handle FILE. J'accède à un répertoire qui est inclus dans mon projet. J'ai essayé fopen "filename", "dir/filename", "./ filename", "./ dir/nomfichier", "/ dir/nomfichier" tout retournant avec un pointeur nul. Certaines personnes déclarent l'utiliser sans problème, donc je suis sûr que c'est quelque chose de simple!Comment fopen() sur l'iPhone?

Répondre

21

si vous essayez d'accéder à un fichier dans votre paquet d'applications, vous devez obtenir le chemin complet: [[NSBundle mainBundle] pathForResource: FILENAME ofType: FILEEXTENSION]

Ce retourne un NSString, que vous pouvez tirer un UTF8String sur et passer à fopen .

22

Pour être clair pour ouvrir un fichier « some.txt » ...

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

réponse de Nice, Comment voir le contenu audio après l'ouverture. – Warrior

+2

A la place de '[chemin cStringUsingEncoding: 1]' vous pouvez aussi utiliser 'path.UTF8String' – codingFriend1

Questions connexes