Pour poster du code, merci d'utiliser le bouton prévu à cet effet. Sinon, on ne peut pas copier ton code pour y pointer ce qui ne vas éventuellement pas, ou encore simplement le tester.
Petite remarque : n'utilise pas la directive "using namespace std ;" (raison + que faire).
#include <iostream>
#include <fstream>
int main()
{
ofstream monFlux("Macbook pro/User/ronan/Documents/nanoc.rtf"); //On essaye d'ouvrir le fichier
if(monFlux) //On teste si tout est OK
{
monFlux << "Bonjour, je suis une phrase écrite dans un fichier." << endl;
monFlux << 42.1337 << endl;
int age(23);
monFlux << "J'ai " << age << " ans." << endl; //Tout est OK, on peut utiliser le fichier
}
else
{
cout << "ERREUR: Impossible d'ouvrir le fichier." << endl;
}
}
voila pour le code désoler je n'avais pas vu le bouton
j'ai un peu de mal a comprendre cette partie du cour mais apparement cette commande nous permet d'ouvrir un fichier et par la suite le modifier mon problème est que je n'arrive pas a l'ouvrir depuis Xcode
j'ai un peu de mal a comprendre cette partie du cour
Si tu parles du "cours" d'OC, changes de cours. Il apprend un sacré paquet d'âneries à ne pas faire, en plus de montrer des exemples de code buggés et d'être obsolète (quelques recherches sur le forum t'en diront plus). Prends plutôt le tutoriel disponible sur Zeste de Savoir. Ou encore le cours de C++ de @gbdivers, même s'il est encore en écriture il ne contient pas ce genre de bavures (et si tu as des problèmes de compréhension sur une partie et que ce n'est pas à cause d'un manque d'étude du cours,tu peux poster ici). Si tu préfères un cours déjà complet, tourne toi vers le C++ Primer de Lippman dans sa dernière édition (en anglais), il sera un poil moins à jour mais c'est un bon cours.
ronanquelier a écrit:
apparement cette commande nous permet d'ouvrir un fichier
Il n'y a pas de "commande" en C++. Ici, tu définis une variable dont le type est ofstream et qui permet de modéliser un fichier.
ronanquelier a écrit:
mon problème est que je n'arrive pas a l'ouvrir depuis Xcode
Qu'est ce que tu entends pas "je n'arrive pas à l'ouvrir" :
tu as un message d'erreur venant de ton programme ?
ça semble marche mais le fichier est introuvable ?
Dans tous les cas, vérifie le chemin de ton fichier, et regarde dans ton IDE où le fichier exécutable est lancé lorsque tu demandes l'exécution. Par défaut, le chemin est relatif au chemin de lancement de l'exécutable. C'est à dire que si tu écris :
std::ofstream ofs { "/chemin/vers/fichier" };
Et que l'exécutable est lancé à :
/chemin/en/cours $ ./executable
le fichier ouvert (ou qu'on tente d'ouvrir) est "/chemin/en/cours/chemin/vers/fichier".
Si veut partir de la racine, il faut que tu regardes précisément l'emplacement auquel tu veux créer le fichier, depuis la racine (c'est alors un chemin absolu).
Je n'avais compris le but de ce chapitre effectivement sa ne sert pas a ouvrir un fichier mais a en crée un, j'ai revu un peu le code avec l'aide du débogguer de Xcode et le changement de l'extension de mon fichier sa a marcher.
Apres je suis un peu dégoûter de savoir que le cour que je suit est obsolète, je vais regarder ceux que tu m'as conseiller merci en tout cas pour tes réponse rapide
J'ai eu le même problème. Que se soit avec un chemin relatif ou absolu ça ne fonctionnait pas. Il a fallu que j'enlève le "C:" pour que ça fonctionne.
^^ Avant d'apprendre à programmer, il faudrait peut être savoir que Windows, Linux, MacOS, c'est pas tout à fait pareil..., C'est pas juste M$, c'est des gros méchants qui veulent asservir le monde... L'auteur a conçu son tuto avec l'idée que 99% de ses lecteurs seraient sous Windows, ce qui était tout à fait raisonnable, à l'époque environ 99% des PC personnels étaient sous Windows et ça n'a pas beaucoup changé, on doit être à 98%
PS: ceci n'enlève évidemment rien aux propos de Ksaas'Peuk, auxquels je souscris totalement. Le cours d'OC est obsolète et mauvais, mais il n'est pas mauvais parce qu'il base ses exemples sous Windows, il est mauvais tout court, Windows a déjà beaucoup de défauts, pas la peine de charger la barque
Avant d'apprendre à programmer, il faudrait peut être savoir que Windows, Linux, MacOS, c'est pas tout à fait pareil..., C'est pas juste M$, c'est des gros méchants qui veulent asservir le monde...
- Edité par int21h il y a 3 minutes
Juste: Wouawh! Heureusement que tu me cites, sinon je n'aurai jamais pu m'imaginer une seule seconde que tu me parlais. En voilà un procès d'intention digne d'un juge de l'inquisition. Je ne sais même pas comment tu as fais pour faire un quelconque lien entre lecteur logique "C:" et windows. J'interviens dans un thread parce que j'ai eu le même problème, que j'ai tout tenté en matière de chemin, que rien n'y a fait. Jusqu'au moment où j'ai viré le C: qui ne fonctionnait ni en absolu ni en relatif. En clair sur ce coup tu t'es fais un film. A bon entendeur.
Je ne sais même pas comment tu as fais pour faire un quelconque lien entre lecteur logique "C:" et windows.
les chemins qui commencent par C:\ sont spécifiques à window. Tout simplement. Un peu comme les avions qui commencent par A.... On sait automatiquement que le constructeur est Airbus
D'où le:
int21h a écrit:
... il faudrait peut être savoir que Windows, Linux, MacOS, c'est pas tout à fait pareil...
Il a fallu que j'enlève le "C:" pour que ça fonctionne.
n'a aucun sens, il n'y a pas de "C:" dans le code posté par le PO.
@ronanquelier
Ton chemin est étrange si tu es sur Mac. Ouvres un terminal, va dans le dossier qui contient ton fichier et tape la commande "pwd" pour avoir le chemin correct. (Ca devrait etre un truc du genre "/Users/...")
Sous Windows le système de fichiers est organisé historiquement sur son architecture hardware; A: désigne le premier périphérique hardware, B: le second et ainsi de suite... A: et B: étaient traditionnellement associés aux lecteurs de disquettes apparus avant (Oui il y a eu des PC sans disque dur, c'était il y a très longtemps, mais pas dans une lointaine galaxie ), C: est par convention le disque système (i.e le disque dur de boot, généralement celui sur lequel Windows est installé) sur un système Windows (mais ça n'a rien d'obligatoire). Sur Linux et MacOS, l'approche est différente, le système de fichier est dissocié du hard, il est présenté comme un ensemble homogène indépendant du hardware, donc des identificateurs de périphériques n'ont aucun sens sur ces OS. C'était le sens de ma petite phrase polémique "M$ c'est pas juste des gros méchants qui veulent asservir le monde", il y a une vraie différence entre la conception du système de fichier de Windows et celle de Linux/MacOS, lorsqu'on veut programmer, cette différence doit nécessairement être connue et prise en compte.
probleme de lecture de fichier sous mac avec Xcode
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Eug
Discord NaN. Mon site.