Probleme Fopen en C

Résolu/Fermé
nousados.fr Messages postés 111 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 - 18 juin 2009 à 21:18
nousados.fr Messages postés 111 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 - 19 juin 2009 à 11:58
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
18 juin 2009 à 21:56
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 dimanche 9 novembre 2008 Statut Membre Dernière intervention 2 décembre 2009
18 juin 2009 à 21:22
salut
essaye ca:

fichier = fopen("test.txt", "w");
0
nousados.fr Messages postés 111 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 5
18 juin 2009 à 21:25
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 dimanche 9 novembre 2008 Statut Membre Dernière intervention 2 décembre 2009
18 juin 2009 à 21:28
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 lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 5
18 juin 2009 à 21:34
Non plus
0
lolo621810 Messages postés 62 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 2 décembre 2009
18 juin 2009 à 21:37
et
fichier = fopen("test.txt", "w+"); ?
0
nousados.fr Messages postés 111 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 5
18 juin 2009 à 21:49
de meme
on reprend sa demain , je dois partir
0
nousados.fr Messages postés 111 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 5
19 juin 2009 à 01:41
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
19 juin 2009 à 09:43
C'est pôurtant clair !
remplace scanf(..) par le fgets(texte,sizeof texte,stdin);
0
nousados.fr Messages postés 111 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 26 octobre 2010 5
19 juin 2009 à 11:58
C'est bon sa marche merci !
0