Bonjour,
J'aimerais créer un tableau qui accueillerait les nombres d'un fichier.txt et dont la taille dependrait directement de la quantité de nombre contenu dans ce fichier.txt.
J'ai donc créé une fonction "CountLines", qui va dénombrer la quantité de nombre, et une fonction "SizeTab" qui va faire l'allocation dynamique du tableau.
Le problème c'est que j'ai un peu l'impression de faire ça comme un péon et de prendre le problème dans le mauvais sens :/ ... Est-ce que vous pourriez me donner votre avis?
Autres Questions:
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 int CountLines(char* fileName, int* numbLines) { FILE* fileBuffer; if ((fileBuffer = fopen(fileName, "r")) == NULL) { printf("! Erreur - Echec de l'ouverture du fichier %s !\n", fileName); // sentry value return 1; } while (!feof(fileBuffer)) { char number[25 + 1]; if ((fscanf(fileBuffer, "%d\n", number)) != NULL) ++numbLines; } fclose(fileBuffer); return 0; } int SizeTab(char* tab, int sizeTab) { tab = malloc(sizeof(int)*(SizeTab + 1)); if (tab == NULL) { puts("! Erreur - Echec de l'allocation de memoire"); return 1; } return 0; }
- Quelqu'un m'a dit que depuis la norme C99, l'obligation de déclarer toutes ses variables au début avait sauté et qu'il fallait maintenant les déclarer au plus près pour diminuer leur vie. Qu'en pensez-vous? Est-ce que vous auriez des sources donnant des recommandations à ce sujet?
- Quelle est l'intérêt/ la diférence entre fputs("",stdout) et puts("") pour afficher du texte à l'écran sachant qu'ils viennent tout deux de la même librairie? mémoire? temps d'exécution? bug?
Merci d'avance,
Red'
Partager