[Langage C] fscanf et espace
Résolu
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.
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.
Configuration: Windows XP Firefox 3.0.5
3 réponses
-
hello
il manque le format
fprintf(Ftitre, "%s\n", "testons le"); -
Contributeurfscanf 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 -
Solution très simple merci fiddy !!!!