我有一个任务来检查文件是否为空。
我想在程序运行之前检查该文件,如果该文件不为空,我希望我的程序读取该文件,但如果该文件为空,我希望我的程序跳过该函数。
这是我的代码,但效果不佳:
void read_file() {
FILE *f;
f = fopen("contact.txt", "r");
fseek(f, 0, SEEK_END);
if (ftell(f) != 0) {
while (!feof(f)) {
fscanf(f, "%[^\;];%s\n", contact[n].name, contact[n].number);
n++;
}
}
fclose(f);
}
最佳答案
您缺少 fseek(f, 0, SEEK_SET)
即
fseek(f, 0, SEEK_END);
if (ftell(f) != 0) {
fseek(f, 0, SEEK_SET);
while (!feof(f)) {
fscanf(f, "%[^\;];%s\n", contact[n].name, contact[n].number);
n++;
}
}
关于c - 如何使用C检查文件是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34836665/