介绍
在本实验中,我们将学习如何在 C 编程语言中查找任何文件的大小。我们将使用 fseek() 和 ftell() 函数来查找文件的大小。
注意:你需要自己创建文件
~/project/main.c来练习编码,并学习如何使用 gcc 编译和运行它。
cd ~/project
## 创建 main.c
touch main.c
## 编译 main.c
gcc main.c -o main
## 运行 main
./main
包含头文件
我们将从包含所需的头文件 stdio.h 和 stdlib.h 开始。
#include<stdio.h>
#include<stdlib.h>
创建 main() 函数
接下来,我们将创建 main() 函数,它是我们 C 程序的入口点。
int main()
{
return 0;
}
定义变量
现在,我们将定义所需的变量。我们需要一个 FILE 指针来保存文件。我们还需要一个 char 变量来保存读取文件时的当前字符。最后,我们需要一个整数 size 来保存文件的大小。
FILE *fp;
char ch;
int size = 0;
打开文件
现在,我们将使用 fopen() 函数打开文件,并检查文件是否成功打开。
fp = fopen("MyFile.txt", "r");
if (fp == NULL)
{
printf("\nFile unable to open...\n");
return 1;
}
else
{
printf("\nFile opened...\n");
}
移动文件指针
现在,我们将使用 fseek() 函数将文件指针移动到文件的末尾。
fseek(fp, 0, 2);
获取文件大小
接下来,我们将使用 ftell() 函数获取文件指针的当前位置,并将其存储在 size 变量中。
size = ftell(fp);
打印文件大小
最后,我们将使用 printf() 函数打印文件的大小。
printf("The size of given file is: %d bytes\n", size);
关闭文件
我们已经完成了对文件的操作,现在将使用 fclose() 函数关闭文件。
fclose(fp);
完整程序代码
以下是用于查找任何文件大小的 C 程序的完整代码。
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
int size = 0;
fp = fopen("MyFile.txt", "r");
if (fp == NULL)
{
printf("\nFile unable to open...\n");
return 1;
}
else
{
printf("\nFile opened...\n");
}
fseek(fp, 0, 2);
size = ftell(fp);
printf("The size of given file is: %d bytes\n", size);
fclose(fp);
return 0;
}
总结
在本实验中,我们学习了如何使用 C 编程语言中的 fseek() 和 ftell() 函数来查找任何文件的大小。我们涵盖了以下主题:
- 包含头文件
- 创建
main()函数 - 定义变量
- 打开文件
- 移动文件指针
- 获取文件大小
- 打印文件大小
- 关闭文件
在读取或写入文件后,始终关闭文件是一个良好的实践。



