如何让fscanf读取以';'分隔的数据文件?

时间:2018-09-29 20:35:18

标签: c

我在使用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

0 个答案:

没有答案
相关问题