Probleme Fopen en C
Résolu
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 :
Cordialement
Alexandre
http://www.easy-clics.fr
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
-
ContributeurSalut,
C'est normal, scanf("%s") s'arrête au premier espace.
Utilise plutôt fgets(texte,sizeof texte,fichier);
Cdlt -
salut
essaye ca:
fichier = fopen("test.txt", "w"); -
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 !
-
essaye ca
fichier = fopen("test.txt", "r+"); -
Non plus
-
et
fichier = fopen("test.txt", "w+"); ? -
de meme
on reprend sa demain , je dois partir -
Illustre plutot ton idée avec un code concret , je suis assez débutant encore .
Cdlt -
C'est bon sa marche merci !