[Langage C] fscanf et espace

Résolu
bkrqpzef Messages postés 213 Statut Membre -  
bkrqpzef Messages postés 213 Statut Membre -
Bonjour à tous,
Voilà j'ai un soucis. Mon code est le suivant :

FILE *Ftitre;
Ftitre=fopen("Ftitre.txt", "w");
fprintf(Ftitre, "testons le");
fclose(Ftitre);


Et j'ai dans un autre programme, qui exploite le fichier Ftitre.txt créé par le premier :

char titre[100];
FILE *Ftitre;
Ftitre=fopen("Ftitre.txt", "r");
fscanf(Ftitre, "%s", &titre);
fclose(Ftitre);

A mon grand désepoir, le fichier Ftitre.txt ne contient que le mot "testons", alors que je voudrais "testons le". Il ne supporte pas les espaces. (Il considère les espaces comme un caractère "\0" ???)
Si vous avez une idée, je suis preneur.
Merchi.
A voir également:

3 réponses

dubcek Messages postés 19023 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
hello
il manque le format
fprintf(Ftitre, "%s\n", "testons le");
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Le format est facultatif, tout comme avec printf.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
fscanf considère l'espace, tout comme la tabulation, comme des caractères de terminaison. Donc il s'arrêtera au premier espace rencontré.
Utilise plutôt fgets : fgets(titre,sizeof titre, Ftitre);
Cdlt
0
bkrqpzef Messages postés 213 Statut Membre 5
 
Solution très simple merci fiddy !!!!
0