Mon C programme lit un fichier texte. Quand je l'ai mis dans Xcode, il échoue. Ce qui se passe?
J'ai une fonction qui ouvre un .txt, utilise fscanf pour lire les numéros formatés comme:
532
2
-234
32
etc. Il fait avec succès ce quand je compile avec GCC, mais je ne peux pas obtenir le fichier pour l'ouvrir dans Xcode, pourquoi?
Le code correspondant est:
int main (void){
FILE *infile = NULL; //input file buffer
int int_array[100]; //an integer array 100 entries long
char infilename[256]; //an extra large char array
//this entire while loop was provided as part of the assignment,
//we weren't supposed to change it. I've finished this assignment,
//but now I want to know how to use my Xcode debugger
while(infile == NULL) {
printf("Input filename:"); //user prompt
scanf("%s",infilename); //store user input in large char array
if((infile = fopen(infilename, "r")) == NULL) { //input file buffer opens file
printf("ERROR: file %s can not be opened!\n",in filename); //error if can not open
}
}
int arraySize =0;
while (!feof(readfile)) { //StackOverflow showed me how to use this function.
fscanf(readfile, "%d", (array+arraySize));
arraySize++;
}
//more code...
}
Dans mon projet Xcode j'ai hw1.c, hw1_functions.c, input.txt et certains souscrit non appelé de fonctions c tous dans le même dossier. Quand je lance le programme, il me demande d'entrer le nom du fichier. Je dis input.txt tout comme je le fais dans le terminal après l'utilisation de GCC, mais j'obtiens l'ERREUR "fichier input.txt ne peut pas être ouvert!"
Est-il quelque chose que je dois faire pour faire ce travail?
- Peut-être vérifier votre répertoire de travail actuel?
- double possible de Nouveau pour Xcode ne pouvez pas ouvrir les fichiers en c++?
- A ma réponse ci-dessous?
- oui! les jeunes dumber moi, n'était pas très bon, DONC. mon appologies.
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que le input.txt le fichier n'est pas dans les dossiers de projets, mais dans le même dossier que le programme compilé. Vous pouvez trouver cela, en sélectionnant le fichier exécutable sous les "Produits" dossier dans le volet gauche de la fenêtre de Xcode et en sélectionnant "Afficher dans le finder", puis déplacez votre .txt fichier et de l'exécuter à nouveau.
J'ai lutté avec le même problème aujourd'hui. Je voulais ajouter un code C pour ma Swift projet et mon pointeur de fichier est toujours NULL.
Malheureusement, dans XCode 9 pour l'application iOS, je ne pouvais pas changer le répertoire de travail. Évolution des phases de construction ne m'a pas aidé non plus. Après 4 heures d'essais et d'erreurs, c'est ce que j'ai trouvé, enfin, et ça fonctionne:
J'ai créé un nouveau objective-c fichier (.m) et copié mon code C il.
J'ai laissé intact .h fichiers (XCode généré de transition de l'en-tête et mon propre .h fichier avec des fonctions publiques de la déclaration). Maintenant, mon projet de la structure ressemblait à ceci:
Dans mon dict.m fichier en lieu et place des anciennes de la plaine c
fopen
partie:J'ai ajouté obj-C code:
Et il fonctionne maintenant sans problème! C'est juste incroyable!
ps j'ai décidé d'écrire cette réponse dans le cas où il aidera quelqu'un comme moi et vous permettra d'économiser le temps. Si vous savez comment changer de répertoire de travail dans XCode 9 pour iOS, s'il vous plaît, laissez-moi un commentaire - maintenant, je suis vraiment curieux de savoir pourquoi je ne peux pas le trouver.