Boucle en c++

Résolu/Fermé
philou - 21 janv. 2012 à 09:10
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 21 janv. 2012 à 18:56
Bonjour, voila mon ptit programm qui ne marche pas
qq un peux t'il me dire pourquoi ?
je voudrai en fait ecrire dans ce fichier cette boucle
le pb c est que je ne retrouve pas le fichier ou bien il ne le cré pas.
merci


#include <stdio.h>
#include <stdlib.h>
#include<iostream>
using namespace std;
int main (void)
{
int i;
int b[10];

ofstream f ("c:\resultlot.txt", ios::out | ios::binary);

for (i = 0; i < 6; i++){
sprintf (b' "%d"' i);
f.write(b ,10);
}
f.close();
return 0;
}

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
21 janv. 2012 à 12:51
Il faut que tu doubles ton slash, parce que \r c'est un retour chariot --> "C:\\resultlot.txt"
Ensuite il serait bon de tester si le fichier a bien été ouvert avec is_open().
Après ton sprintf(b' "%d"' i) est vraiment bizarre... Tu peux utiliser << pour écrire tes données dans le fichier.

#include<iostream>

int main (void)
{
    std::ofstream fic("c:\\resultlot.txt", std::ios::out | std::ios::binary);
    if (!fic.is_open())
    {
        std::cerr << "Fichier non ouvert" << std::endl;
        return 1;
    }

    for (int i=0; i<6; i++)
        fic << i;
    
    fic.close();
    
    return 0;
}
1
je viens de tester ca marche pas est ce que tu la teste?
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
21 janv. 2012 à 17:23
Non, je n'avais pas testé, mais je viens de le faire et il manque juste une ligne :
#include <fstream>
0
philou > philou
21 janv. 2012 à 17:25
j ai ce msg
C:\Dev-Cp||=== Build finished: 1 errors, 0 warnings ===|p\thermlot.cpp|9|error: variable 'std::ofstream fic' has initializer but incomplete type|
0
ok mais maintenant il me dit que le fichier n'est pas ouvert
ups!!!!!!!!!
0
philou > philou
21 janv. 2012 à 17:49
de ce fait dans resultlot je ne retrouve pas l'ecriture de ma boucle
0
je voudrais faire un retour chariot dans l'ecriture

c est à dire
1
2
3
4
5
etc.....
et non pas 1 2 3 4 5......
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
21 janv. 2012 à 18:56
Utilises std::endl

 for (int i=0; i<6; i++)
        fic << i << std::endl;
0