C语言获取文件长度

获取一个文件的大小

  1. 使用fopen打开文件,使用fseek和ftell来获取文件的大小

     FILE  *file = fopen(char *filename,"w+");
     if(file == NULL)
     {
     	printf("打开文件失败");
     	return -1;
     }
     fseek(file,0,SEEK_END);//定位到文件的最后面
     long length  = ftell(file);//ftell获得该文件指示符此时的偏移量,此时已经是在文件末尾,故能获得文件的大小
     printf("%ld",length);
    

2.如果使用open打开文件,使用lseek来获取文件的大小

	int fd = open(char *filename,int falgs);//这里的参数自行设置
	if(fd == -1)
	{
		printf("文件打开失败\n");
		return -1;
	}
	//lseek函数成功的话,返回的是从文件开始到文件此时的偏移量之间的大小
	long length = lseek(fd,0,SEEK_END);//回到文件的末尾,故返回的是文件的大小
	printf("%ld\n",length);//输出这个文件的大小
	return  0;

你可能感兴趣的:(liunx,lseek,fseek,获取文件大小,C语言)