C語(yǔ)言用fstat函數(shù)獲取文件的大小方法
之前獲取文件大小總是用死辦法,open一個(gè)文件,然后lseek,read這樣去獲取文件的大小,這樣的效率實(shí)在是低,還有可能粗心大意還會(huì)出錯(cuò)。
一次偶然在Android的源代碼中看到獲取文件大小的函數(shù),在以下范例中。用fstat這個(gè)函數(shù)可以避免這些問題。
函數(shù)原型:int fstat(int fildes, struct stat *buf);
參數(shù)說明:
fstat()
用來將參數(shù)fildes所指的文件狀態(tài),復(fù)制到參數(shù)buf所指的結(jié)構(gòu)中(struct stat)。
寫個(gè)范例:
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/stat.h> #include <unistd.h> //獲取文件的大小 int get_file_size(int f) { struct stat st; fstat(f, &st); return st.st_size; } int main(void) { int fd = open("test.py",O_RDWR); int size ; if(fd < 0) { printf("open fair!\n"); return -1 ; } size = get_file_size(fd) ; printf("size:%d字節(jié)--->%.2fK\n",size,(float)size/1024); return 0 ; }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- 劍指offer之C語(yǔ)言不修改數(shù)組找出重復(fù)的數(shù)字
- C語(yǔ)言測(cè)試n的階乘和x的n次方
- C語(yǔ)言數(shù)組a和&a的區(qū)別講解
- C語(yǔ)言實(shí)現(xiàn)詞法分析器
- 使用Python向C語(yǔ)言的鏈接庫(kù)傳遞數(shù)組、結(jié)構(gòu)體、指針類型的數(shù)據(jù)
- C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)快速排序
- 如何寫出優(yōu)美的C語(yǔ)言代碼
- C語(yǔ)言字符串另類用法的實(shí)現(xiàn)
- C語(yǔ)言制作簡(jiǎn)易金山打字通功能的代碼
- 劍指offer之C++語(yǔ)言實(shí)現(xiàn)鏈表(兩種刪除節(jié)點(diǎn)方式)
相關(guān)文章
c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例(c語(yǔ)言數(shù)組排序)
如何將兩個(gè)已排序數(shù)組合并成一個(gè)排序數(shù)組,下面我們給出使用c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例,需要的朋友可以參考下2014-03-03C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷
這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷的相關(guān)資料,為了加快查找節(jié)點(diǎn)的前驅(qū)和后繼。對(duì)二叉樹的線索化就是對(duì)二叉樹進(jìn)行一次遍歷,在遍歷的過程中檢測(cè)節(jié)點(diǎn)的左右指針是否為空,如果是空,則將他們改為指向前驅(qū)和后繼節(jié)點(diǎn)的線索,需要的朋友可以參考下2017-08-08VC6實(shí)現(xiàn)激活后臺(tái)窗口最佳方法
這篇文章主要介紹了VC6實(shí)現(xiàn)激活后臺(tái)窗口最佳方法,實(shí)例分析了VC操作后臺(tái)窗口的技巧,需要的朋友可以參考下2015-06-06C語(yǔ)言實(shí)現(xiàn)猜數(shù)字大小的游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)猜數(shù)字大小的游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01C語(yǔ)言算法練習(xí)之?dāng)?shù)組元素排序
這篇文章主要為大家介紹了C語(yǔ)言算法練習(xí)中數(shù)組元素排序的實(shí)現(xiàn)方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語(yǔ)言有一定幫助,需要的可以參考一下2022-09-09