解释void loadFromFile() { Spot spotsFromFile[MAX_SPOT_NUM]; // 存储所有景点信息 int spotFromFileCount = 0; FILE* fp; fp = fopen("spots.txt", "r"); if (fp == NULL) { printf("文件打开失败!\n"); return; } while (1) { Spot s; if (fscanf(fp, "%s %s %d", s.name, s.info, &s.price) != 3) { break; } spotsFromFile[spotFromFileCount++] = s; } fclose(fp); printf("读取成功!\n"); printf("景点信息如下:\n"); for (int i = 0; i < spotFromFileCount; i++) { printf("%d. 名称:%s,信息:%s,票价:%d\n", i + 1,spotsFromFile[i].name, spotsFromFile[i].info, spotsFromFile[i].price); } }
时间: 2024-03-07 13:53:40 浏览: 135
ColorBmpTo_OneBitBmp实现1/2/4/8/16/24/32位图转换
这段代码定义了一个名为loadFromFile的函数,它的作用是从文件中读取景点信息并打印出来。在函数内部,它首先定义了一个大小为MAX_SPOT_NUM的Spot类型数组spotsFromFile,用于存储所有的景点信息。接着定义了一个整型变量spotFromFileCount,用于记录读取到的景点数量。
函数打开一个名为spots.txt的文件,如果文件打开失败则会打印出“文件打开失败!”并直接返回。然后进入一个while循环,每次从文件中读取一条景点信息,如果读取失败则跳出循环,否则将读取到的景点信息存储到spotsFromFile数组中,同时spotFromFileCount加1。
最后,函数关闭文件,打印出“读取成功!”,并逐一打印出所有的景点信息,格式为“序号. 名称:xxx,信息:xxx,票价:xxx”。
阅读全文