Bonjour,
J'ai plusieurs erreur de compilation.
warning C4047: '!=' : les niveaux d'indirection de 'int' et de 'void *' sont différents
Donc j'avais la fonction:
J'ai pigé que c'était la macro NULL, parce que NULL est une macro de type void, ce qui donne
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 int CountLines(const char *fileName) { FILE* fileBuffer; int numbLines = 0; if ((fileBuffer = fopen(fileName, "r")) == NULL) { printf("! Erreur - Echec de l'ouverture du fichier %s !\n", fileName); // sentry value return -1; } int number; while ((fscanf(fileBuffer, "%d\n", &number)) != NULL) ++numbLines; fclose(fileBuffer); return numbLines; }
Je pense avoir plus où moins compris qu'en fait elle est traité comme un pointeur de type void, et non pas comme une variable 0 de type "int". maintenant je suis pas contre qu'on me le confirme.
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 int CountLines(const char *fileName) { FILE* fileBuffer; int numbLines = 0; if ((fileBuffer = fopen(fileName, "r")) == NULL) { printf("! Erreur - Echec de l'ouverture du fichier %s !\n", fileName); // sentry value return -1; } int number; while ((fscanf(fileBuffer, "%d\n", &number)) != 0) ++numbLines; fclose(fileBuffer); return numbLines; }
(je l'aurais pas pigé sans la partie sur les macros du cours de C)
Entry.c(67): warning C4133: 'fonction'*: types incompatibles - de 'FILE *' à 'const char *const '
Parcontre pour celle là je présume que c'est de nouveau un problème de macro, mais j'ai pas compris... donc si quelqu'un sait m'expliquer, je suis preneur.
En réfléchissant en tapant ce message, je pense avoir trouvé. dites moi si c'est juste.
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 int GetTabNumbTxt(int *tab, char *fileName) { FILE *fileBuffer; if ((fileBuffer = fopen(fileName, "r")) == NULL) { printf("! Erreur - Echec de l'ouverture du fichier %s !\n", fileName); // sentry value return 1; } while((sscanf(fileBuffer, "%d\n", tab)) != EOF) tab++; fclose(fileBuffer); return 0; }
Merci d'avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 do { sscanf(fileBuffer, "%d\n", tab); tab++; } while (tab != EOF);
Red'
Partager