Compter les caractere dans un fichier (espaces inclus)
Pitdeboole
Messages postés3Date d'inscriptionmardi 31 mai 2011StatutMembreDernière intervention 5 juin 2011
-
2 juin 2011 à 00:58
ed73
Messages postés276Date d'inscriptionlundi 8 septembre 2008StatutMembreDernière intervention15 avril 2013
-
6 juin 2011 à 10:45
salut à tous je fais mes premiers pas dans le domaine de la programmation j'ai un probleme que j'arrive pas a resoudre: lire un texte au clavier l'enregistrer dans un fichier.txt puis compter le nombre de caractere sy trouvant en comptant aussi les espace
voici ce que j'ai fais mais ne compte pas les espace
----------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
char NOM_FICH[] = "E:\\MOTS.TXT";
FILE *FICHIER;
char *CHAINE;
FICHIER = fopen(NOM_FICH, "w");
if (!FICHIER)
{
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", NOM_FICH);
exit(-1);
}
printf("*** Création du fichier %s ***\n", NOM_FICH);
do
{
printf("Entrez un mot ('*' pour finir) : ");
scanf("%s", CHAINE);
if (*CHAINE != '*')
fprintf(FICHIER, "%s", CHAINE);
}
while (CHAINE[0] != '*');
fclose(FICHIER);
return 0;
}
svp dite moi ce qui manque a ce code pour quil fonction comme je veux
merci
Pitdeboole
Messages postés3Date d'inscriptionmardi 31 mai 2011StatutMembreDernière intervention 5 juin 2011 2 juin 2011 à 01:05
eskuzé moi le premier code ci dessus permet de saisir au clavier le texte ( malgré qu'il n'espace pas les mot exemple: papa et maman) s'affiche "papaemaman" probleme comment espacé et tout compter
voici celui qui est sensé compter les caracteres
ed73
Messages postés276Date d'inscriptionlundi 8 septembre 2008StatutMembreDernière intervention15 avril 20132 6 juin 2011 à 10:45
Bonjour,
scanf() permet de lire une chaine jusqu'à la rencontre du premier caractère d'espacement (entrer,espace,tabulation...), il est donc normal que les espaces n'apparaissent pas. Utilise plutôt fgets pour saisir ton texte.
Pour compter les caractères du fichier tu peux aussi faire :