gpt4 book ai didi

c - 使用 feof 读取文件末尾

转载 作者:太空宇宙 更新时间:2023-11-04 01:50:07 27 4
gpt4 key购买 nike

<分区>

所以我阅读了多篇关于为什么 feof 不能正常工作的帖子,他们都使用 while(fscanf(...) == 1) 来读到文件末尾,我遇到的问题是每个循环的临时值都不同,因为它正在读取处理它的每一行,然后移动到下一行。我目前拥有的代码可以正确读取所有输入,但将最后一行打印两次。我想知道是否有更好的方法来解决这个问题,而不是仅仅进行 hack 工作并删除处理的最后一行,因为它被处理了两次。

void readInputFile(Customer customers[]) {
FILE *input = fopen("hw4input.txt", "r");

while (!feof(input)) {
char tempName[MAXNAMELEN];
int tempQuantity;
char tempItem[MAXNAMELEN];
double tempPrice;
fscanf(input, "%s %d %s $%lf", &tempName, &tempQuantity, &tempItem, &tempPrice);
printf("%s %d %s %.2lf\n", tempName, tempQuantity, tempItem, tempPrice);
}
printf("EOF\n");
fclose(input);
}

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