Ecriture dans un fichier

sebleboss2002 Messages postés 189 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 3 avril 2005 - 12 nov. 2003 à 22:23
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 - 13 nov. 2003 à 20:35
Salut tout le monde !

Ce coup-ci, j'ai un problème dans l'enregistrement de type integer dans un fichier texte. Voici mon code :

#include 
#include <conio.c>

int min=0;

int main()
{
  while(1)
   {
    FILE * fp;

    Sleep(1000);

    min++;

    fp = fopen("C:\\fichier.txt", "w+");

    fputs(min,fp);

    fclose(fp);

   }
}


Et le compilateur (Dev C++ 4) me renvoie une erreur :
passing `int' to argument 1 of `fputs(const char *, FILE *)' lacks a cast


Merci d'avance pour votre aide,

Sebleboss2002

5 réponses

cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
12 nov. 2003 à 22:50
Bijourr!!

Faut apprendre à comprendre les messages d'erreur. Oui c'est dûr mais à force ça vient, courage!

La fonction fputs prend comme premier argument un char*, c'est à dire un pointeur vers un char (et ceux qui le suivent) ce qui correspond approximativement à un tableau de char.

Tu ne dois donc pas passer un nombre mais un "mot", avec des caractères, pas avec des chiffres...

Pour convertir un int en char* : itoa
Les arguments sont (je suis plus très sûr alors cherche la définition dans le header) : (int nSource, char* Destination, int nBase)

Je répète : A vérifier mais en gros c'est ça.

Bone nuit

Chouchou
0
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
12 nov. 2003 à 22:51
ben oui, regarde la doc et tu verra que fputs demande un char*, et pas un int

je ne sais pas trop ce que tu veu faire mais s'il y a dans ce fichier un nombre que tu veux récupéré, tu met le char* puis tu fait un atoi dessus
0
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
12 nov. 2003 à 22:52
et merde, g di n'importe quoi et en plus en retard... m'apprendra lire trop vite le sujet (^_^)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
13 nov. 2003 à 07:16
deja tu ouvre et tu ferme le fichier dans ta boucle, c'est inutile et couteux

et tant qu'a faire, fait le en c++
#include 
#include <fstream.h>

int min=0;

int main()
{
    ifstream f;
    f.open("C:\\fichier.txt", ios::in);
    while(1)
    {
        Sleep(1000);
        min++;
        f<<min;
    }
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
13 nov. 2003 à 20:35
Bonsoir,

Sleep(1000);
il faut include le fichier d'entete windows.h
(Au fait pourquoi faire un Sleep ???)

Matt...
0
Rejoignez-nous