C语言如何获取文件大小?fseek() + ftell()

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何获取文件大小?fseek() + ftell()相关的知识,希望对你有一定的参考价值。

创建一个文件file.txt,然后往里面写内容,然后关闭文件,再打开文件获取文件大小

#pragma warning(disable : 4996)
#include <stdio.h>

int main()

	FILE* fp;
	fp = fopen("file.txt", "w+");
	fputs("This is runoob.com", fp);
	fclose(fp);

	int len;

	fp = fopen("file.txt", "r");
	if (fp == NULL)
	
		perror("打开文件错误");
		return(-1);
	
	fseek(fp, 0, SEEK_END);	//定位到文件尾,偏移量为0

	len = ftell(fp);	//返回当前定位的文件位置(也就是文件总长度)
	fclose(fp);

	printf("file.txt 的总大小 = %d 字节\\n", len);

	return(0);


VS编译运行结果:

file.txt 的总大小 = 18 字节

F:\\Arnold_Test\\20211223_jsonTest\\jsonTest\\Debug\\jsonTest.exe (进程 33812)已退出,代码为 0。
按任意键关闭此窗口. . .

参考文章:C语言ftell()函数(返回文件当前位置)(返回给定流 stream 的当前文件位置)

以上是关于C语言如何获取文件大小?fseek() + ftell()的主要内容,如果未能解决你的问题,请参考以下文章

C 语言文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )

C/C++ 获取文件大小

C 语言文件操作 ( ftell 函数 | 使用 ftell 函数获取当前指针位置 | 通过 ftell 计算文件大小 )

C++中怎样获取一个文件的大小,怎样判断一个文件是不是为空(文件存在,但是没有内容)

用c语言如何读取和保存jpg图片文件?

如何用C语言打开一个文件?