我在使用fscanf
时遇到了困难,因为在忽略;
时无法从文件中读取数据。
void main() {
int i=0;
STUDENT aln;
FILE *fp;
fp = fopen("Aluno.txt","r");
//Verificar abertura do File
checkfile(fp);
while (!feof(fp)) {
fscanf(fp,"%d%s%d%d%s%d%c\n",&aln.id,&aln.name,&aln.age,&aln.uc.id,&aln.uc.nome,&aln.class.id,&aln.class.name);
//fscanf(fp, "%d%[^;];[^;];%d%[^;];%d%[^;];%[^;];%d%[^;];%c\n", &aln.id, &aln.name, &aln.age, aln.uc.id, aln.uc.nome, aln.class.id, aln.class.name);
printf("Nome: %s\n",aln.name);
}
system("pause");
}
这是文件内容:
1;Ruben;15;1;Matematica;1;A
2;Ana;16;2;Portugues;1;A
3;Raquel;17;1;Matematica;2;B
4;Rui;16;2;Portugues;2;B
5;Vasco;15;3;Fisica;3;C