gpt4 book ai didi

c - 如何正确查找文件中的字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 03:23:40 25 4
gpt4 key购买 nike

在这个函数中,我在屏幕上显示了一个 .txt 文档,它可以工作,但是,我试图读取文件文档并扫描文档中的 EMPTY 一词,因为我将它保存为一个字符串变量。应该注意的是,我正在计算 EMPTY 在文件中的时间,然后打印它在文件中的时间以及另一件事。我的第一个问题是我这样做是否正确?

 void allSeats(void)
{
int position = 0;
int count = 0;
char gone[6] = "EMPTY";

system("cls");
retry:
fseatArrangement = fopen("airlineSeatingArrangment.txt", "r");
while (fgets(econoAirSeatArrangement, 1000, fseatArrangement) != NULL)
printf(econoAirSeatArrangement);
fclose(fseatArrangement);

while (count < FULL)
{
fgets(econoAirSeatArrangement, 1000, fseatArrangement);
fscanf(fseatArrangement,"%s", &gone);
count++;
}
printf("There are %d seats vacant at the moment\nThere are %d seats with no vacancy at the moment \n",count, FULL-count);


printf("Enter Zero(0) Key to return to menu at anytime.");
scanf("%d", &position);
if (position == 0)
{
system("cls");
menu();
}
else
{
system("cls");
printf("INVALID INPUT! Please try again.\n");
goto retry;
}

system("pause");
return;

}

最佳答案

主要问题就在这里

 fgets(econoAirSeatArrangement, 1000, fseatArrangement);

您已经使用 fclose() 关闭了文件指针,但您仍尝试使用它。它导致undefined behavior .

也就是说,

  • printf(econoAirSeatArrangement); 出现错误。如果您不希望有任何格式转换规范,您可以坚持使用 puts()
  • 在使用返回值之前,必须检查fopen()fgets()fscanf()等函数的返回值是否成功值/扫描值。

关于c - 如何正确查找文件中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43171239/

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