gpt4 book ai didi

c - C 中正确的 fscanf

转载 作者:行者123 更新时间:2023-11-30 20:07:51 26 4
gpt4 key购买 nike

这是输入:Francetic, Petra#13/12/1930 Trg zrtava Uskoka 156 (Skopje) 800893452/2008

它不会正确地 fscanf 它显示 m=0,这就是我知道 while 循环不成功的方式。

while(fscanf(mrtvaciTxt, "%[^,],%[^#]#%d/%d/%d %[^0-9]%d (%[^)]) %[^/]/%[^\n] ",


&pomrli[m].prezime, &pomrli[m].ime,
&pomrli[m].dan,&pomrli[m].mjesec,&pomrli[m].godina, &pomrli[m].adresa,&pomrli[m].brUlice,
&pomrli[m].brOsobne, &pomrli[m].godSmrti )== 9)
{
m++;
}
printf("%d\n\n", m);

我怎样才能扫描这个,有没有任何教程我怎样才能做得更好,因为这花了我很多时间。

疯狂

佩特拉

13

12

1930

Trg zrtava Uskoka 156(斯科普里)

800893452

2008,我希望 fscanf 看起来像这样

最佳答案

scanf 格式存在多个错误。

这是正确的 scanf 格式字符串:

" %[^,], %[^#]#%d/%d/%d %[^(](%[^)]) %[^/]/%d"

以下是错误列表:

  • 有 11%,而您预计只有 9 个字段
  • 格式字符串前面缺少空格来使用换行符
  • 第一个 %d 前面有一个不应该出现的/
  • 您正在使用 [^\n],而您应该使用 [^(]( 作为 adresa
  • 您正在出于未知原因使用 %*[\n]
  • 您应该使用 [^)] 来获取成绩
  • 等等

你修改了你的问题,所以我不知道你还做了什么。

关于c - C 中正确的 fscanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59693025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com