gpt4 book ai didi

c - 在C代码中读取同一个文件两次

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

如果我正在读取文件的第一行并存储在某个变量中,并且如果我再次读取同一文件并存储在不同的数组中,我的数组会跳过第一行吗?

a1,a2,a3,a4,a5
b1,b2,b3,b4,b5
c1,c2,c3,c4,c5
d1,d2,d3,d4,d5
e1,e2,e3,e4,e5

我的代码看起来像这样

    FILE* fp1 = fopen("test.csv","r");
if(fp1 == NULL)
{
printf("Failed to open file\n");
return 1;
}

fscanf(fp1,"%[^\n]",variable);
while((fscanf(fp1,"%[^,],%[^,],%[^,],%[^,],%[^\n]\n",C1,C2,C3,C4,C5)>0))
{

some function()

}
for(i=1;i<=5;i++)
{
printf("%s\t", C1[i]);
printf("%s\n", C2[i]);
}

我的输出从文件的第二行开始,即

C1[i] = {b1,c1,d1,e1}  but not a1
C2[i] = {b2,c2,d2,e2} but not a2

有人可以简要说明为什么第一行被跳过吗?

谢谢

最佳答案

从文件中对 fscanf 的后续调用将进一步读取文件,除非回滚,除非流不可回滚,如 stdin。

关于c - 在C代码中读取同一个文件两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26397625/

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