Probleme Fopen en C

Résolu
nousados.fr Messages postés 111 Date d'inscription   Statut Membre Dernière intervention   -  
nousados.fr Messages postés 111 Date d'inscription   Statut Membre Dernière intervention   -
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

9 réponses

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

fichier = fopen("test.txt", "w");
0
nousados.fr Messages postés 111 Date d'inscription   Statut Membre Dernière intervention   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
lolo621810 Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
essaye ca
fichier = fopen("test.txt", "r+");
0

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

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