[Langage C] fscanf et espace

Résolu
bkrqpzef Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
bkrqpzef Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
il manque le format
fprintf(Ftitre, "%s\n", "testons le");
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Le format est facultatif, tout comme avec printf.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 197 Date d'inscription   Statut Membre Dernière intervention   5
 
Solution très simple merci fiddy !!!!
0