Probleme Fopen en C

Résolu
nousados.fr Messages postés 115 Statut Membre -  
nousados.fr Messages postés 115 Statut Membre -
Bonjour,
j'ai voulu faire un programme qui écris dans un fichier via un fopen en C .
Tout marche bien sauf qu'il ne m'enregistre dans le fichier seulement le premier mot , c'est a dire jusqu'au premier espace .
Voici le code :

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])
{
    FILE* fichier = NULL;
    char texte[1000] ;
 
    fichier = fopen("test.txt", "a");
 
    if (fichier != NULL)
    {
        // On demande le texte 
        printf("Votre message (max 1000 caracteres ):");
        scanf("%s", &texte);
 
        // On l'écrit dans le fichier
        fprintf(fichier, "%s", texte);
        fclose(fichier);
    }
    system("PAUSE") ;
    return 0;
}


Cordialement
Alexandre
http://www.easy-clics.fr
Configuration: Windows XP
Firefox 3.0.11

9 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    C'est normal, scanf("%s") s'arrête au premier espace.
    Utilise plutôt fgets(texte,sizeof texte,fichier);
    Cdlt
    2
  2. lolo621810 Messages postés 72 Statut Membre
     
    salut
    essaye ca:

    fichier = fopen("test.txt", "w");
    0
  3. nousados.fr Messages postés 115 Statut Membre 5
     
    c'est toujours la meme chose , il s'arrete au premier espace , j'avais mis ce paramètre parce que c'est un programme de journal intime !
    0
  4. lolo621810 Messages postés 72 Statut Membre
     
    essaye ca
    fichier = fopen("test.txt", "r+");
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nousados.fr Messages postés 115 Statut Membre 5
     
    Non plus
    0
  7. lolo621810 Messages postés 72 Statut Membre
     
    et
    fichier = fopen("test.txt", "w+"); ?
    0
  8. nousados.fr Messages postés 115 Statut Membre 5
     
    de meme
    on reprend sa demain , je dois partir
    0
  9. nousados.fr Messages postés 115 Statut Membre 5
     
    Illustre plutot ton idée avec un code concret , je suis assez débutant encore .
    Cdlt
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      C'est pôurtant clair !
      remplace scanf(..) par le fgets(texte,sizeof texte,stdin);
      0
  10. nousados.fr Messages postés 115 Statut Membre 5
     
    C'est bon sa marche merci !
    0