Bonjour a tous,
je voudrais savoir comment connaitre le nombre de caractère contenu dans un fichier en langage c
comme l'exemple du fichier joint
merci d'avance
![]()
Bonjour a tous,
je voudrais savoir comment connaitre le nombre de caractère contenu dans un fichier en langage c
comme l'exemple du fichier joint
merci d'avance
![]()
Une première réponse brutale, tu regardes la taille du fichier (56 dans ton exemple) et c'est le nombre de caractères de ton fichier.
Mais je suppose que tu veux la jouer plus fin et ne pas comptabiliser les retour chariot par exemple.
Dans ce cas, il faut lire le fichier caractère par caractère et compter ceux que tu veux comptabiliser.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Bonjour, voici un petit exemple pour lire un fichier et compter le nombre de caractères (espaces, retours charriots compris):
J'espère avoir pu t'aider. Charge à toi de l'adapter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <stdio.h> int main(int argc, char ** argv) { int compteur = 0; FILE * file; /* ouverture du fichier */ if ((file = fopen("ematrix.txt", "r")) == NULL) perror("Erreur à l'ouverture du fichier"); else { /* parcours du fichier */ while(fgetc(file) != EOF) compteur ++; /* incrémentation du compteur */ } printf("Le nombre de caractères du fichier est de : %d\n", compteur); /* fermeture du fichier */ fclose(file); return 0; }
merci pour votre reponse,
et si je veux connaitre le nombre de ligne et classer le contenu du fichier par ordre alphabetique, comme l'exemple du fichier joint.
merci d'avance
![]()
Pour compter le nombre de lignes, tu peux compter le nombre de '\n' dans le fichier...
Pour le tri, qsort peut faire l'affaire.
Même réponse que précédent sauf que ce coup ci, tu compte les retours chariots
- Lire le fichier ligne par ligne
- stocker en mémoire toute les lignes
- trier les lignes stockées en mémoire (il va falloir que tu définisse ta fonction de tri, tri alphabétique, tri croissant sur la 3eme colonne puis décroissant sur la 5eme colonne, toutes les fantaisies sont possibles)
- re écrire le fichier en ecrivant les lignes triées
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
merci encore,
un exemple en code ne me fera pas du mal.
merci d'avance
A un moment, il faut se lancer et remonter les manches. Tu as déjà pas mal d'idées et de code dans ce post.
Présente nous ce que tu as fais et on t'aidera
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Ce code, bien sûr est à améliorer/corriger en prenant garde aux effets de bords, à la syntaxe et aux fonctions que j'utilise de tête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 #include <stdio.h> int main(int argc, char ** argv) { /* tableau de tri */ char tab[100][1024]; /* compteur de caractères */ int compteur = 0; /* compteur de lignes */ int cptLigne = 0; /* compteur de caracteres dans une ligne */ int cptCarLigne = 0; /* fichier */ FILE * file; /* caractère récupéré */ int car; int i = 0; /* ouverture du fichier */ if ((file = fopen("ematrix.txt", "r")) == NULL) perror("Erreur à l'ouverture du fichier"); else { /* parcours du fichier */ while((car=fgetc(file)) != EOF){ compteur ++; /* incrémentation du compteur */ cptCarLigne ++; if (car == "\n"){ tab[cptLigne][cptCarLigne-1] = "\0"; cptLigne ++; cptCarLigne = 0; } tab[cptLigne][cptCarLigne-1] = car; } /* Appel de ta fonction tri */ tri(tab); printf("Le nombre de caractères du fichier est de : %d\n", compteur); /* fermeture du fichier */ fclose(file); /* Ecriture dans le fichier */ if ((file = fopen("ematrix.txt", "w")) == NULL) perror("Erreur à l'ouverture du fichier"); for (i; i < cptLigne; i ++) { fprintf(file, "%s", tab[cptLigne]); } fclose (file); return 0; }
Pour le tri, tu peux voir ici :
http://c.developpez.com/sources/?pag...HME_tri_rapide
Bonsoir a tous;
comment recuperer chaque ligne d'un fichier pour ensuite le mettre dans un tableau
merci d'avance
Partager