C語言獲取文件長度的方法
更新時間:2023年10月25日 09:16:53 作者:暴風雨中的白楊
這篇文章主要介紹了C語言獲取文件長度的相關知識,包括使用標準庫方法和使用Linux系統(tǒng)調(diào)用,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
C語言獲取文件長度
一、使用標準庫方法
#include <stdio.h> long get_file_size(const char * filename ){ long size = 0; FILE * fp = fopen(filename,"rb"); if( fp == NULL ) { printf("open file %s failed\r\n",filename); return 0; } // 移動文件指針到文件末尾 fseek(fp,0,SEEK_END); // 獲取文件長度 size = ftell(fp); fclose(fp); fp = NULL; return size; }
二、使用Linux系統(tǒng)調(diào)用
在Linux操作系統(tǒng)下,可以使用stat函數(shù)來獲取文件信息,其中st_size字段表示文件的長度。
#include <stdio.h> #include <sys/stat.h> long get_file_size(const char * filename ){ struct stat st; // 獲取文件信息 if( stat(filename,&st) == -1){ printf("get file %s 's info failed\r\n",filename); return 0; } //S_ISLNK(st_mode):是否是一個連接 //S_ISREG是否是一個常規(guī)文件 //S_ISDIR是否是一個目錄 //S_ISCHR是否是一個字符設備 //S_ISBLK是否是一個塊設備 //S_ISFIFO是否是一個FIFO文件 //S_ISSOCK是否是一個SOCKET文件 // 檢查文件類型 if( !S_ISREG(st.st_mode)){ printf("%s 不是一個常規(guī)文件\r\n",filename); return 0; } return st.st_size; }
到此這篇關于C語言獲取文件長度的文章就介紹到這了,更多相關C語言文件長度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!