使用C?读取并保存txt文件中的每个单词



我正在尝试编写一个程序:

  • 打开一个txt文件
  • 读取行的第一个字并将其存储在变量(或数组(中=>它将是一个名字
  • 读取一行的第二个字并将其存储在var/array=>这将是一个大学系
  • 对每一行都这样做,这样它就可以贯穿整个文件

我试着把printf("%s",变量(添加到我的代码中,看看它是怎么做的,但结果非常不一致:有一次什么都没发生,有一次它做对了,还有一次它写了,但旁边有一个奇怪的符号(哦,而且,它只适用于部门代码的一部分,而不是名称(

这是我的txt文件:

Marie GMP
Rodriguez STID
Latreze GEA
Dos-Santos INFO
Coulon GMP
Fernandez INFO
Munoz GEA
Clerc GEA
Delahaye STID
Fernandes STID
Vallet STID
Martineau STID
Langlois GMP
Zinedan STID
Regnier-Laine INFO
Guillot GMP
Meyer-Alexandre TC
Tanguy GMP
Legros GMP
Herve GMP
Robinski STID
Michaud INFO
Barthelemy GMP
Vincent GEA

和我的代码:


#include <stdio.h>
#include <stdlib.h>
#define TAILLE_TABLE 100
int main() {
char charActuel;
char studentName[TAILLE_TABLE];
char studentDpt[TAILLE_TABLE];
printf("Etudiants faisant du sport ET de la musiquenn");
FILE* fichierMusique = NULL;
fichierMusique = fopen("data/MUSIQUE.txt", "r");
if (fichierMusique != NULL) {
printf("fichier ouvertn");

int i = 1;
do {
charActuel = fgetc(fichierMusique);
studentName[i] = charActuel;
printf("%c", charActuel);
i = i + 1;
}
while (charActuel != ' ');
printf("%s-n", studentName);
i = 1;
do {
charActuel = fgetc(fichierMusique);
studentDpt[i] = charActuel;
printf("%c", charActuel);
i = i + 1;
}
while (charActuel != 'n');

printf("%sn", studentDpt);

fclose(fichierMusique);
printf("fichier fermé");
}
else {
printf("Impossible d'ouvrir le fichier MUSIQUE.txt");
}
return 0;
}

你知道问题出在哪里了吗?

由于我得到了响应,所以出现了问题:

我应该从0开始,而不是从1开始哦,我还添加了一些修改,有人告诉我要输入,所以代码是:

#include <stdio.h>
#include <stdlib.h>
#define TAILLE_TABLE 100
int main() {
char charActuel;
char studentName[TAILLE_TABLE];
char studentDpt[TAILLE_TABLE];
printf("Etudiants faisant du sport ET de la musiquenn");
FILE* fichierMusique = NULL;
fichierMusique = fopen("data/MUSIQUE.txt", "r");
if (fichierMusique != NULL) {
int i = 0;

printf("fichier ouvertnn");
do {
charActuel = fgetc(fichierMusique);
studentName[i] = charActuel;
i = i + 1;
}
while (charActuel != ' ');
studentName[i-1] = '';
printf("%sn", studentName);
i = 0;
do {

charActuel = fgetc(fichierMusique);
studentDpt[i] = charActuel;
i = i + 1;
}
while (charActuel != 'n');
studentDpt[i-1] = '';
printf("%sn", studentDpt);

fclose(fichierMusique);
printf("fichier fermé");
}
else {
printf("Impossible d'ouvrir le fichier MUSIQUE.txt");
}
return 0;
}

最新更新