gpt4 book ai didi

C 语言 - 使用 fscanf 处理长文本文件

转载 作者:行者123 更新时间:2023-11-30 16:22:57 25 4
gpt4 key购买 nike

我想读取这样的文本文件:

Soldiers in some part of empire are not doing so well. We could cut funds by reducing their numbers.
Yes, reduce their numbers.
-5
0
5
No, we need them.
0
0
-10

我编写了一个用于保存加载数据的结构,但它不起作用......

FILE * Fchoice = fopen(Addresses, "r+");

fscanf(Fchoice ,"%[^\n]s\n%[^\n]s\n%d\n%d\n%d\n%[^\n]s%d\n%d\n%d",
TmpProblem.question, // char[]
TmpProblem.choices[0].what, // char[]
&TmpProblem.choices[0].people, // int
&TmpProblem.choices[0].court, // int
&TmpProblem.choices[0].treasury, // int
TmpProblem.choices[1].what, // char[]
&TmpProblem.choices[1].people, // int
&TmpProblem.choices[1].court, // int
&TmpProblem.choices[1].treasury // int
);

打印我加载的数据后,它只是加载了第一行文本......你们能调试一下吗?

最佳答案

[^\n]s 不是格式说明符,您想要的是 [^\n]\n

其中 [^\n] 读取直到 \n 发生。

<小时/>

因此替换

"%[^\n]s\n%[^\n]s%d\n%d\n%d\n%[^\n]s%d\n%d\n%d"

"%[^\n]\n%[^\n]\n%d\n%d\n%d\n%[^\n]\n%d\n%d\n%d"

关于C 语言 - 使用 fscanf 处理长文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54187268/

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