c语言获取文件大小的示例


下面是一个C语言示例,用于获取指定文件的大小。这个程序使用了标准C库中的文件操作函数。


#include <stdio.h>
#include <stdlib.h>

// 函数声明
long getFileSize(const char *filePath);

int main() {
    // 指定要获取大小的文件路径
    const char *filePath = "example.txt";

    // 调用函数并打印文件大小
    long fileSize = getFileSize(filePath);
    if (fileSize == -1) {
        printf("无法获取文件大小。\n");
    } else {
        printf("文件 %s 的大小为:%ld 字节\n", filePath, fileSize);
    }

    return 0;
}

// 获取文件大小的函数实现
long getFileSize(const char *filePath) {
    FILE *file = fopen(filePath, "rb"); // 以二进制读模式打开文件
    if (file == NULL) {
        // 如果文件打开失败,返回-1
        return -1;
    }

    // 移至文件末尾
    fseek(file, 0, SEEK_END);

    // 获取当前位置,即文件大小
    long fileSize = ftell(file);

    // 关闭文件
    fclose(file);

    return fileSize;
}

这个示例程序首先包含了必要的头文件,然后定义了一个`getFileSize`函数来获取文件大小。在`main`函数中,我们指定了要检查的文件路径,并调用了`getFileSize`函数。函数内部,它尝试以二进制读模式打开文件,并检查是否成功。如果成功,它使用`fseek`函数将文件指针移动到文件末尾,并使用`ftell`函数获取当前位置(即文件大小)。最后,它关闭文件并返回文件大小。如果文件无法打开,则函数返回-1。