在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言獲取文件長度的兩種方法

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-10-10 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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標準庫獲取文件長度的測試結果如下圖所示:

fee54b1c-6743-11ee-939d-92fbcf53809c.png

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

    文章

    7630

    瀏覽量

    141005
  • Linux操作系統

    關注

    0

    文章

    54

    瀏覽量

    11393

原文標題:C語言-獲取文件長度

文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux端口的開啟的兩種方法需要掌握

    Linux端口的開啟的兩種方法需要掌握
    發表于 11-28 10:05 ?1388次閱讀

    STM32操作矩陣鍵盤的兩種方法

    目錄STM32操作矩陣鍵盤的兩種方法——掃描和中斷一、矩陣鍵盤的結構和原理二、掃描式矩陣鍵盤的原理和實現三、中斷式矩陣鍵盤的原理和實現四、兩種方案優劣STM32操作矩陣鍵盤的兩種方法——掃描和中斷
    發表于 08-12 06:33

    關斷檢流放大器的兩種方法

    摘要:本應用筆記介紹了兩種關斷高邊電流檢測器的方法兩種方法都可以在下一代便攜式多媒體設備中用于電源管理。從而使系統在保證用戶功能需求的前提下有效延長電池的使
    發表于 05-07 08:48 ?23次下載

    AODV協議中解決斷鏈問題的兩種方法

    AODV協議中解決斷鏈問題的兩種方法 2.1 備用路由方法由于常規路由協議維護完整的路由表,能得知網絡中的拓撲情況,很容易
    發表于 03-01 17:31 ?1239次閱讀
    AODV協議中解決斷鏈問題的<b class='flag-5'>兩種方法</b>

    使用jdbc連接上oracle的兩種方法

    本文主要介紹了使用jdbc連接上oracle的兩種方法:1、 使用thin連接,2、 使用oci連接(Oracle Call Interface)
    發表于 02-06 10:43 ?1849次閱讀

    單片機C語言編程中定時器初值計算的兩種方法

    單片機C語言編程中,定時器的初值對于初學者真的是比較不好計算,因此總結了以下幾種方法
    的頭像 發表于 12-30 16:59 ?1.1w次閱讀

    51單片機的兩種方法點亮LED的C語言程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機的兩種方法總線操作和位操作點亮LED的C語言程序免費下載。
    發表于 08-19 17:31 ?1次下載
    51單片機的<b class='flag-5'>兩種方法</b>點亮LED的<b class='flag-5'>C</b><b class='flag-5'>語言</b>程序免費下載

    提升家里網速的兩種方法

    總是嫌家里的網速慢,看視頻“轉圈圈”,玩游戲“時延高”,如何提升家里的網速呢?這里介紹兩種方法
    的頭像 發表于 02-19 21:10 ?1.5w次閱讀
    提升家里網速的<b class='flag-5'>兩種方法</b>

    C語言訪問MCU寄存器的兩種方式

    單片機的特殊功能寄存器SFR,是SRAM地址已經確定的SRAM單元,在C語言環境下對其訪問歸納起來有兩種方法
    發表于 04-11 06:01 ?10次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>訪問MCU寄存器的<b class='flag-5'>兩種</b>方式

    51單片機控制NandFlash讀寫的兩種方法

    51單片機控制NandFlash讀寫的兩種方法(c語言嵌入式開發視頻)-該文檔為51單片機控制NandFlash讀寫的兩種方法總結文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣
    發表于 07-30 17:01 ?23次下載
    51單片機控制NandFlash讀寫的<b class='flag-5'>兩種方法</b>

    STM32操作矩陣鍵盤的兩種方法——掃描和中斷

    目錄STM32操作矩陣鍵盤的兩種方法——掃描和中斷一、矩陣鍵盤的結構和原理二、掃描式矩陣鍵盤的原理和實現三、中斷式矩陣鍵盤的原理和實現四、兩種方案優劣STM32操作矩陣鍵盤的兩種方法——掃描和中斷
    發表于 11-26 13:36 ?37次下載
    STM32操作矩陣鍵盤的<b class='flag-5'>兩種方法</b>——掃描和中斷

    【Linux + C語言C語言獲取文件大小的方法都在這

    【Linux + C語言C語言獲取文件大小的方法
    的頭像 發表于 08-31 12:49 ?3842次閱讀
    【Linux + <b class='flag-5'>C</b><b class='flag-5'>語言</b>】<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>獲取</b><b class='flag-5'>文件</b>大小的<b class='flag-5'>方法</b>都在這

    LDO在IoT中省電的兩種方法

    LDO在IoT中省電的兩種方法
    發表于 11-04 09:50 ?0次下載
    LDO在IoT中省電的<b class='flag-5'>兩種方法</b>

    簡述安裝打印機驅動的兩種方法

    安裝打印機驅動通常有兩種方法,一種是直接使用驅動文件自帶的安裝程序自動安裝,而另一種方法就是我們自己手動進行安裝。兩種方法各有利弊,日常工作中可以根據實際情況來選擇使用哪
    的頭像 發表于 04-04 09:46 ?5526次閱讀
    簡述安裝打印機驅動的<b class='flag-5'>兩種方法</b>

    hex文件如何查看原c語言代碼

    是處理器可以直接執行的指令,而 C 語言代碼則是人類可讀的高級編程語言代碼。 然而,如果你想要從 .hex 文件獲取一些有用的信息或者對程
    的頭像 發表于 09-02 10:37 ?4740次閱讀
    主站蜘蛛池模板: 在线观看国产日本 | 欧美黄色tv | q2002韩国理论| 四虎网址在线 | 午夜日批 | 激情综合五月天丁香婷婷 | 国产网红主播精品福利大秀专区 | 三级电影天堂网 | 奇米影视奇米色777欧美 | 99久久免费中文字幕精品 | 日韩三级 | 午夜视频在线免费播放 | 欧美18videosex性欧美69 | 啪啪.com| 欧美生活性色 | 免费人成年激情视频在线观看 | 国产一区二区在线视频播放 | 闲人综合 | 俄罗斯一级成人毛片 | 男男宿舍高h炒肉bl 男男污肉高h坐便器调教 | 在线a网 | 1024 cc香蕉在线观看看中文 | 欧美色视频日本 | 午夜影院色 | 久久婷婷国产一区二区三区 | 欧美1819| 女人张开腿让男人捅爽 | 高清色视频 | 亚洲综合精品成人啪啪 | 天天综合天天做天天综合 | 亚洲韩国日本欧美一区二区三区 | 在线看你懂 | 国产一级毛片外aaaa | 加勒比色综合 | 亚洲 欧美 精品专区 极品 | 日产精品卡二卡三卡四卡乱码视频 | 男人透女人超爽视频免费 | 一区二区三区四区五区 | 美女扒开尿口给男人桶爽视频 | 国产片无遮挡在线看床戏 | 成人国产激情福利久久精品 |