IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

enregistrement dans un fichier !


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut enregistrement dans un fichier !
    Bonjour,

    Je suis entrain de réaliser une fonction dans mon programme qui permettra l'enregistrement d'une chaine de caractères dans un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    char resultBuf[1000];
    char fileName[21];
    FILE* pFile;
     
    printf("%s\n", resultBuf); // J'affiche le contenu de mon tableau
    printf("\nFile Name ?\n\n");
    scanf_s("%20s", fileName);// Je demande le nom du fichier à créer
    fopen_s(&pFile ,fileName, "w");// J'ouvre le fichier en mode ecriture et le crée si ce n'est pas déjà fait
    fputs (resultBuf,pFile);//j'ecris le contenu de ma chaine de caracteres dans le fichier.
    fclose(pFile);// je ferme mon fichier
    Compilation : OK
    Build : OK
    Execution :
    j'ai essayer plusieurs methodes d'ecriture. fputs, fwrite et fprintf, et j'ai toujours une popup d'erreur qui vient s'afficher après la validation de la demande du nom de fichier désiré (scanf_s).

    Ce message est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Debug Assertion Failed!
     
    Program: ...
    File: fputs.c
    Line:48
     
    Expression:(stream != NULL)
    J'espere avoir était clair dans le descriptif de mon problème
    Comment faire pour remedier à celui-ci ?

    Merci Sebounty

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Par défaut
    Quand tu utilises scanf_s() il faut mettre la taille du buffer pour les %c et %s. Soit dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf_s("%20s", fileName, 21);
    Rq. :
    L'appel à fopen_s() est correct son prototype est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    errno_t fopen_s (FILE** pFile, const char *filename, const char *mode);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    Merci pour votre aide, voici le code après correction :
    L'erreur etait bien sur le scanf_s et non sur le fopen_s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    char resultBuf[1000];
    char fileName[21];
    FILE* pFile;
     
    printf("%s\n", resultBuf); 
    printf("\nFile Name ?\n\n");
    scanf_s("%20s", fileName, 21);
    if(fopen_s(&pFile, fileName, "w")!= NULL )
    {
         printf( "The file was created\n" );
         fwrite(resultBuf, 1 , strlen(resultBuf),pFile);
         fclose(pFile);
    }
    cordialement Sebounty

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/11/2005, 18h03
  2. comment ne pas enregistrer dans le fichier log?
    Par trotters213 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 21/03/2005, 14h56
  3. [LG]Enregistrements dans un fichier
    Par ticoude dans le forum Langage
    Réponses: 1
    Dernier message: 26/11/2004, 18h33
  4. [LG]supprimer un enregistrement dans un fichier
    Par Marcus2211 dans le forum Langage
    Réponses: 10
    Dernier message: 17/11/2003, 00h59
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo