我有一个声明的数组:
char *tableHeuresTests[NBTEST];
也是一个填充我阵列的函数 这是我的功能:
FILE *f = NULL; // représente un fichier en C
char tab[TAILLE]; // Chaîne de caractères qui nous servira pour la lecture ligne par ligne du fichier (~buffer de lecture)
int i = 0; // index du tableau
// TODO : Ouverture du du fichier HeuresTests.txt
f = fopen("HeuresTests.txt", "r");
// TODO : Vérifier si le fichier a bien été ouvert. Sinon, envoyer une erreur et sortir du programme
if (!f)
{
printf("Le fichier HeuresTests.txt n'a pas pu être lu !");
fclose(f);
exit(1);
}
// TODO : Lecture de toute les lignes jusqu'à la fin de fichier
while (fgets(tab, TAILLE, f) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
{
char res[TAILLE];
if(tab[strlen(tab) - 1] == '\n')
{
int j = 0;
for(j = 0; j < strlen(tab) - 1; j++){
if(tab[j] != '\n' && tab[j] != ' ')
res[j] = tab[j];
}
res[strlen(tab) - 1] = '\0';
}
else{
strcpy(res, tab);
}
tableauDatesRetour[i] = res;
printf("%s\n", tableauDatesRetour[i]);
i++;
strcpy(res, "");
}
// TODO : Fermer le fichier
fclose(f);
此外,还有以下定义:
void lireFichierDates(char **tableauDatesRetour);
此函数应该逐行读取文件,并填充数组(文件的每一行将添加到不同的索引,就好像数组是文件一样)。在将每一行添加到数组之前,我必须删除&#39; \ n&#39;在每一行的末尾。
最后你可以看到一个printf(),它可以帮助我查看我的数组
我这样做的原因是因为在调用函数之后,我尝试查看作为参数传递的数组,看看它的内容是否是我正在寻找的内容。
Here是结果
它有什么不同?我做错了吗?