从.TXT文件跳过行
问题描述:
你好,我的项目有一点问题。我想从.TXT文件扫描文本到我的结构中,除了从我的文本文件的第一行。我试图用fgets()
函数做到这一点,但它只能在第一次使用。从.TXT文件跳过行
这里有一点我的工作努力。
for (i=1;i<=number;i++){
fgets(s,100,fr);
fgets(p_akt->signatura,12,fr);
fgets(p_akt->isbn,15,fr);
fgets(p_akt->kniha,100,fr);
fgets(p_akt->autori,100,fr);
fscanf(fr,"%d",&p_akt->datum);
fscanf(fr,"%d",&p_akt->preukaz);
printf("%d.\n",i);
printf("signatura: %s",p_akt->signatura);
printf("isbn: %s",p_akt->isbn);
printf("kniha: %s",p_akt->kniha);
printf("autori: %s",p_akt->autori);
printf("datum: %d\n",p_akt->datum);
printf("preukaz: %d\n",p_akt->preukaz);
p_akt->p_dalsi = NULL;
}
正如我所说的它运行完全像我只希望在第一循环......当它进入第二个周期是1所以ISBN移动everysingle信息,我有signatura,在kniha我已经ISBN等。我希望我把一切都清楚了。由于
编辑://
---
DE612301
9783161484100
Gesammelte Werke 3. Logik der Forschung
Karl R. Popper
20120508
56432
---
EN3123123
9780061092190
Men at Arms
Terry Pratchett
20101010
45612
这是我的文本文件,我想因为你读date
和preukaz
使用fscanf
领域,以填补我的结构与除---
答
这些信息:preukaz
充满后不读
fscanf(fr,"%d",&p_akt->datum);
fscanf(fr,"%d",&p_akt->preukaz);
换行符。改变格式从%d
到%d\n
后:
fscanf(fr,"%d\n",&p_akt->datum);
fscanf(fr,"%d\n",&p_akt->preukaz);
换行字符将被解读为好,下一个循环,fgets(s,100,fr);
将读取分隔符---
正确。
这实际上并没有那么好...它运行良好的第一个循环 我会上传文本文件也许它会帮助你们了解 – Toesmash 2013-05-05 12:56:38
请添加您的输入文件的摘录(第2-3完成记录)在原始问题中。 – harpun 2013-05-05 12:58:35
@Toesmash:看看我更新的答案。您正确跳过第一行,并且无法读取整数。 – harpun 2013-05-05 13:12:11