欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2023年10月25日 09:16:53   作者:暴風(fēng)雨中的白楊  
這篇文章主要介紹了C語言獲取文件長度的相關(guān)知識(shí),包括使用標(biāo)準(zhǔn)庫方法和使用Linux系統(tǒng)調(diào)用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

C語言獲取文件長度

一、使用標(biāo)準(zhǔn)庫方法

#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;
    }
    // 移動(dòng)文件指針到文件末尾
    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):是否是一個(gè)連接
	//S_ISREG是否是一個(gè)常規(guī)文件
	//S_ISDIR是否是一個(gè)目錄
	//S_ISCHR是否是一個(gè)字符設(shè)備
	//S_ISBLK是否是一個(gè)塊設(shè)備
	//S_ISFIFO是否是一個(gè)FIFO文件
	//S_ISSOCK是否是一個(gè)SOCKET文件
    
    // 檢查文件類型
    if( !S_ISREG(st.st_mode)){
        printf("%s 不是一個(gè)常規(guī)文件\r\n",filename);
        return 0;
    }
    return st.st_size;
}

到此這篇關(guān)于C語言獲取文件長度的文章就介紹到這了,更多相關(guān)C語言文件長度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Matlab繪制七夕咕呱小青蛙

    使用Matlab繪制七夕咕呱小青蛙

    七夕節(jié)到了還不快給你的朋友安排上這只咕呱小青蛙?本文將用Matlab繪制一個(gè)可愛的咕呱小青蛙,感興趣的小伙伴可以動(dòng)手嘗試一下
    2022-08-08
  • 詳解C++中遞增運(yùn)算符重載的實(shí)現(xiàn)

    詳解C++中遞增運(yùn)算符重載的實(shí)現(xiàn)

    本文主要詳解運(yùn)算符重載里的遞增運(yùn)算符重載;遞增和遞減原理是一樣的,這里就只分享遞增的重載;提到遞增遞減,我們都知道又前置和后置兩種方法, 那今天就詳解一下前置遞增和后置遞增的細(xì)節(jié),拿捏遞增運(yùn)算符重載
    2022-06-06
  • Qt把文件夾從A移動(dòng)到B的實(shí)現(xiàn)示例

    Qt把文件夾從A移動(dòng)到B的實(shí)現(xiàn)示例

    本文主要介紹了Qt把文件夾從A移動(dòng)到B的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • 基于字符串移位包含的問題詳解

    基于字符串移位包含的問題詳解

    本篇文章是對(duì)字符串移位包含的問題的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言命令行參數(shù)的使用詳解

    C語言命令行參數(shù)的使用詳解

    本文主要介紹了C語言命令行參數(shù)的使用詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 從零開始的Socket編程學(xué)習(xí)

    從零開始的Socket編程學(xué)習(xí)

    我們每天打開瀏覽器瀏覽網(wǎng)頁時(shí),瀏覽器的進(jìn)程怎么與web服務(wù)器通信的?QQ進(jìn)程怎么與服務(wù)器或你好友所在的QQ進(jìn)程通信?這些都得靠socket?那什么是socket?socket的類型有哪些?還有socket的基本函數(shù),下面小編帶大家了解下
    2019-05-05
  • C語言實(shí)現(xiàn)二叉樹的示例詳解

    C語言實(shí)現(xiàn)二叉樹的示例詳解

    這篇文章主要為大家詳細(xì)介紹了C語言中二叉樹的算法實(shí)現(xiàn)以及二叉樹的遍歷算法與應(yīng)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-06-06
  • Qt超時(shí)鎖屏的實(shí)現(xiàn)示例

    Qt超時(shí)鎖屏的實(shí)現(xiàn)示例

    本文主要介紹了Qt超時(shí)鎖屏的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言實(shí)現(xiàn)文件讀寫功能流程

    C語言實(shí)現(xiàn)文件讀寫功能流程

    這篇文章主要介紹了C語言實(shí)現(xiàn)文件讀寫,文件是一段數(shù)據(jù)的集合,這些數(shù)據(jù)可以是有規(guī)則的,也可以是無序的集合。在stdio.h有一個(gè)非常重要的東西,文件指針,每個(gè)文件都會(huì)在內(nèi)存中開辟一塊空間,用于存放文件的相關(guān)信息
    2022-12-12
  • C++實(shí)現(xiàn)從輸入中讀取字符串

    C++實(shí)現(xiàn)從輸入中讀取字符串

    這篇文章主要介紹了C++實(shí)現(xiàn)從輸入中讀取字符串的實(shí)現(xiàn)思路和具體代碼,非常的簡單實(shí)用,有需要的小伙伴可以參考下
    2016-05-05

最新評(píng)論