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# Task管理操作帮助类


下一篇:C语言读取写入CSV文件 [二]进阶篇——写入CSV文件