c语言

c语言怎么判断文件是否为空

小亿
242
2023-11-28 19:07:23
栏目: 编程语言

在C语言中,可以使用以下方法判断文件是否为空:

  1. 使用fseek函数将文件指针移动到文件的末尾,然后使用ftell函数获取当前文件指针的位置。如果位置为0,表示文件为空。
#include <stdio.h>

int main() {
    FILE *file = fopen("file.txt", "r"); // 打开文件
    fseek(file, 0, SEEK_END); // 移动文件指针到文件末尾
    if (ftell(file) == 0) { // 获取文件指针位置
        printf("文件为空\n");
    } else {
        printf("文件不为空\n");
    }
    fclose(file); // 关闭文件
    return 0;
}
  1. 使用fgetc函数逐个读取文件中的字符,如果读取到文件末尾,表示文件为空。
#include <stdio.h>

int main() {
    FILE *file = fopen("file.txt", "r"); // 打开文件
    int c = fgetc(file); // 读取文件中的一个字符
    if (c == EOF) { // 判断是否到达文件末尾
        printf("文件为空\n");
    } else {
        printf("文件不为空\n");
    }
    fclose(file); // 关闭文件
    return 0;
}

注意:以上两种方法都需要在操作文件前先打开文件,操作文件后再关闭文件。

0
看了该问题的人还看了