C語言中沒有直接獲取文件長度的接口,但是我們可以使用標準庫提供的函數來間接的獲取文件長度。這里提供兩種方法。
使用C標準庫獲取文件長度
不論你使用的是哪個操作系統,只要該操作系統支持C標準庫,那么就可以通過下述代碼獲取文件長度:
#include/** *@brief獲取文件長度 * *@paramfile_name文件名(包含路徑) * *@return-1:獲取文件長度失敗其他值:文件長度 * *@version *1,2023-08-09,AilsonJack,Createdfunction */ longget_file_len(constchar*file_name) { FILE*filep; longlen; //打開文件 filep=fopen(file_name,"rb"); if(filep==NULL) { printf("fopen%sfailed! ",file_name); return-1; } //移動文件指針到文件末尾 fseek(filep,0,SEEK_END); //獲取文件長度 len=ftell(filep); //關閉文件 fclose(filep); returnlen; }
使用C標準庫獲取文件長度的測試結果如下圖所示:
Snipaste_2023-09-23_10-00-18
使用Linux的系統調用獲取文件長度
在Linux操作系統下,可以使用stat函數來獲取文件信息,其中st_size字段表示文件的長度,代碼如下所示:
#include#include /** *@brief獲取文件長度 * *@paramfile_name文件名(包含路徑) * *@return-1:獲取文件長度失敗其他值:文件長度 * *@version *1,2023-08-09,AilsonJack,Createdfunction */ longget_file_len(constchar*file_name) { structstatst; //獲取文件信息 if(stat(file_name,&st)==-1) { perror("無法獲取文件信息"); return-1; } //檢查文件類型 if(!S_ISREG(st.st_mode)) { printf("%s不是一個常規文件! ",file_name); return-1; } returnst.st_size; }
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7614瀏覽量
137712 -
Linux操作系統
+關注
關注
0文章
54瀏覽量
11120
原文標題:C語言-獲取文件長度
文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
STM32操作矩陣鍵盤的兩種方法
目錄STM32操作矩陣鍵盤的兩種方法——掃描和中斷一、矩陣鍵盤的結構和原理二、掃描式矩陣鍵盤的原理和實現三、中斷式矩陣鍵盤的原理和實現四、兩種方案優劣STM32操作矩陣鍵盤的兩種方法——掃描和中斷
發表于 08-12 06:33
關斷檢流放大器的兩種方法
摘要:本應用筆記介紹了兩種關斷高邊電流檢測器的方法,兩種方法都可以在下一代便攜式多媒體設備中用于電源管理。從而使系統在保證用戶功能需求的前提下有效延長電池的使
發表于 05-07 08:48
?23次下載
AODV協議中解決斷鏈問題的兩種方法
AODV協議中解決斷鏈問題的兩種方法
2.1 備用路由方法由于常規路由協議維護完整的路由表,能得知網絡中的拓撲情況,很容易
發表于 03-01 17:31
?1147次閱讀
使用jdbc連接上oracle的兩種方法
本文主要介紹了使用jdbc連接上oracle的兩種方法:1、 使用thin連接,2、 使用oci連接(Oracle Call Interface)
發表于 02-06 10:43
?1737次閱讀
51單片機控制NandFlash讀寫的兩種方法
51單片機控制NandFlash讀寫的兩種方法(c語言嵌入式開發視頻)-該文檔為51單片機控制NandFlash讀寫的兩種方法總結文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣
發表于 07-30 17:01
?22次下載
STM32操作矩陣鍵盤的兩種方法——掃描和中斷
目錄STM32操作矩陣鍵盤的兩種方法——掃描和中斷一、矩陣鍵盤的結構和原理二、掃描式矩陣鍵盤的原理和實現三、中斷式矩陣鍵盤的原理和實現四、兩種方案優劣STM32操作矩陣鍵盤的兩種方法——掃描和中斷
發表于 11-26 13:36
?36次下載
簡述安裝打印機驅動的兩種方法
安裝打印機驅動通常有兩種方法,一種是直接使用驅動文件自帶的安裝程序自動安裝,而另一種方法就是我們自己手動進行安裝。兩種方法各有利弊,日常工作中可以根據實際情況來選擇使用哪
hex文件如何查看原c語言代碼
是處理器可以直接執行的指令,而 C 語言代碼則是人類可讀的高級編程語言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對程
評論