从文本文件中读取寄存器

时间:2017-04-29 17:22:21

标签: c file

我试图从一个文字中读取第一个寄存器,其名称和ID由' |'分隔:

Jhon|33232323
Ricky|32222222
Michael|36333111

我之前使用fprintf以二进制格式打印到文本文件,所以我想我可以使用fscanf从格式化的文件中进行扫描。

FILE *pf=fopen("D:\\Juan\\binarioATexto\\variable.txt","rt");
if(!pf)exit(1);

student stud;

fscanf(pf,"%s|%ld",stud.nombre,&stud.dni);

printf("%s %ld",stud.nombre,stud.dni);

fclose(pf);

return 0;

结果是:Jhon | 33232323 0

为什么我不能使用fscanf()?

1 个答案:

答案 0 :(得分:1)

请阅读fscanf的手册页。记住这些信息,格式字符串应该是

fscanf(pf, "%[^|]|%ld\n", stud.nombre,&stud.dni);