Calcul du nombre de caractere dans un fichier

Pitdeboole Messages postés 3 Date d'inscription mardi 31 mai 2011 Statut Membre Dernière intervention 5 juin 2011 - 5 juin 2011 à 01:41
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 6 juin 2011 à 07:05
slt les pro j'ai un peti souci voila ce code est censer creer un fichier puis compte nom le nombre de caractere contenu dans ce fichier y compri les espaces. mais je suis coincé aider moi merci

#include <stdio.h>
#include <stdlib.h>
main()
{

char NOM_FICH[] = "E:\\TextGroupe10.TXT";
FILE *fich,fichr;

char CHAINE[1000];

fich = fopen(NOM_FICH, "w");
if (!fich)
{
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", NOM_FICH);
exit(-1);
}

printf("*** Création du fichier %s ***\n", NOM_FICH);

while (CHAINE[0] == '#');
{
printf("Entrez votre texte et taper '#' pour terminer : ");
scanf("%s", CHAINE);
if (CHAINE[0] == '#')
fprintf(fich, "%s ", CHAINE);
}
fclose(fich);

int nbr=0;

fich = fopen(NOM_FICH, "r");
if (!fich)
{
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", NOM_FICH);
exit(-1);
}

while (fgetc(fich)!= EOF){
++nbr;
}
fclose(fich);
printf("Le fichier %s contient :\n", NOM_FICH);
printf("\t%d \t caractères \n", (int)nbr);

getch();
}

2 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
5 juin 2011 à 05:23
salut,

struct stat64 statbuf;
...

stat64(filename);
off64_t filesize = statbuf.st_size;

ou alors:
int cbr;
off64_t filesize = 0;

while (cbr = read(fd, buf, length(buf)))
{
if (cbr != -1) filesize += cbr;
}

@++
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 juin 2011 à 07:05
Bonjour,

en utilisant fseek et ftell tu peux te positionner à la fin du fichier, et regarder la position du curseur, donc connaitre sa taille.
0
Rejoignez-nous