Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

écriture d'un chiffre dans un fichier

3 réponses
Avatar
Grégoire
Bonjour,

J'aimerais s'il vous pla=EEt demander votre aide pour la question
suivante : je n'arrive pas =E0 =E9crire un chiffre dans un fichier !
Voici mon code (simplifi=E9, bien =E9videmment) :

ofstream outfile ("/Users/Documents/LectureTextes/doc.txt");
int i =3D 0;
outfile << i;
outfile.close();

je m'attendais =E0 ce qu'un 0 soit =E9crit dans le document ouvert par la
premi=E8re ligne...malheureusement il n'en est rien. Par contre, si je
remplace le "int i =3D 0" par un "char c =3D 'a'", alors l=E0 =E7a fonction=
ne.
Quelqu'un peut-il m'aider ?!?
Je vous en serais tr=E8s reconnaissant.

Gr=E9goire.

3 réponses

Avatar
Fabien LE LEZ
On Fri, 26 Mar 2010 09:52:13 -0700 (PDT), Grégoire
:

ofstream outfile ("/Users/Documents/LectureTextes/doc.txt");
int i = 0;
outfile << i;
outfile.close();



Note que le "close" ne sert pas à grand-chose si tu ne vérifies pas le
résultat.

je m'attendais à ce qu'un 0 soit écrit dans le document ouvert par la
première ligne... malheureusement il n'en est rien.



C'est bizarre, ça. Je soupçonne qu'il y a un problème ailleurs dans
ton code. Ou bien que ton compilateur est très vieux.

Essaie le code simplifié suivant. Si ça ne fonctionne toujours pas,
indique la version de ton compilo.

#include <fstream>

int main()
{
std::ofstream outfile ("doc.txt");
int i = 0;
outfile << i;
}
Avatar
Grégoire
On 26 mar, 18:11, Fabien LE LEZ wrote:
On Fri, 26 Mar 2010 09:52:13 -0700 (PDT), Grégoire
:

>ofstream outfile ("/Users/Documents/LectureTextes/doc.txt");
>    int i = 0;
>    outfile << i;
>    outfile.close();

Note que le "close" ne sert pas à grand-chose si tu ne vérifies pas l e
résultat.

>je m'attendais à ce qu'un 0 soit écrit dans le document ouvert par l a
>première ligne... malheureusement il n'en est rien.

C'est bizarre, ça. Je soupçonne qu'il y a un problème ailleurs dans
ton code. Ou bien que ton compilateur est très vieux.

Essaie le code simplifié suivant. Si ça ne fonctionne toujours pas,
indique la version de ton compilo.

#include <fstream>

int main()
{
   std::ofstream outfile ("doc.txt");
   int i = 0;
   outfile << i;



}



J'utilise Xcode (sur Mac OS X). Je croyais jusque maintenant que Xcode
utilisait le compilateur g++ disponible sur la ligne de commande. Mais
pourtant, j'ai essayé de compiler mon code avec ce dernier compilateur
(en utilisant g++ main.c etc) et maintenant ça marche ! Maintenant, le
problème est de trouver quel est le compilateur de Xcode et comment le
changer, vu que visiblement ce n'est pas celui de la ligne de
commandes.
Merci de m'avoir suggéré d'aller voir du côté du compilateur. Je ne
pensais vraiment pas que ça pouvait venir de là (mais plutôt du code) .
J'ai par ailleurs essayé de lancer depuis la ligne de commandes
l'éxecutable créé par Xcode. ça ne marche pas non plus.
Avatar
Falk Tannhäuser
Am 26.03.2010 19:10, schrieb Grégoire:
On 26 mar, 18:11, Fabien LE LEZ wrote:
#include<fstream>

int main()
{
std::ofstream outfile ("doc.txt");
int i = 0;
outfile<< i;
}



J'utilise Xcode (sur Mac OS X). Je croyais jusque maintenant que Xcode
utilisait le compilateur g++ disponible sur la ligne de commande. Mais
pourtant, j'ai essayé de compiler mon code avec ce dernier compilateur
(en utilisant g++ main.c etc) et maintenant ça marche ! Maintenant, le
problème est de trouver quel est le compilateur de Xcode et comment le
changer, vu que visiblement ce n'est pas celui de la ligne de
commandes.



Est-ce que ça change quelque chose si tu termines la dernière ligne du ficher par un saut de ligne :
outfile << i << 'n';
?

Falk