Bonjour,
J'apprends à lire un fichier en C++.
Hélas, je ne retrouve pas le fichier lorsque j'exécute le programme.
Auriez-vous une piste ?
Merci
Simon
Version imprimable
Bonjour,
J'apprends à lire un fichier en C++.
Hélas, je ne retrouve pas le fichier lorsque j'exécute le programme.
Auriez-vous une piste ?
Merci
Simon
Plutôt qu'une capture d'écran, copie-colle le code et les sorties entre balises [CODE]. Bon il se trouve qu'ici exceptionnellement ça nous aide au diagnostic : tu sembles être sous OS X et le chemin vers le fichier que tu essaies de créer est pourtant typique de Windows. Un copier-coller issu d'un tutoriel, peut-être ?
Tu peux essayer d'obtenir plus de détails sur la raison de l'échec d'un appel système en récupérant le contenu d'errno : std::cout << "I/O error: " << strerror(errno) << std::endl; .
Le chemin "C:/Nanoc/scores.txt" où tu vas ouvrir "scores.txt" ne semble pas être un chemin OS X. C est un lecteur, le chemin spécifié est donc un chemin windows et ne peut dans aucun cas correspondre à un chemin de ton environnement. Es-tu sûr de savoir où est ton fichier "scores.txt" ?
En meme temps, si tu copies le code d'OpenC**** sans chercher plus loin, c'est normal que ca plante ;)
Pour ouvrir le flux en lecture/écriture, il te faut le nom et, par conséquent, l'emplacement de ton fichier. C'est ce que tu codes ici:
En faisant comme cela, tu dis a ton programme d'aller chercher le fichier "nomDeTonFichier.txt" la ou tu exécutes ton programme.Code:string const nomFichier("nomDeTonFichier.txt");
Si tu ne l'as pas enregistré au meme endroit, tu dois le spécifier dans le chemin. Par exemple:
si tu l'as mis dans un dossier a part au meme endroit que ton programmeCode:string const nomFichier("dossier/nomDeTonFichier.txt");
si tu l'as mis dans un autre dossier ailleurs que ton programmeCode:string const nomFichier("../autreDossier/nomDeTonFichier.txt");
A toi de trouver le path correspondant ;)
Et effectivement, comme le mentionne Monsieur Fromage, il va falloir changer ce path vu que sur Mac, ton chemin risque de ne rien trouver...