linux遍歷目錄源代碼

<pre code_snippet_id="1622396" snippet_file_name="blog_20160324_1_744516" name="code" class="cpp">遍歷目錄獲取整個目錄的占用空間:
 

uint64_t dir_space(char *path)
{int ret = 0;uint64_t space = 0;char cur_dir[PATH_MAX + 1] = {0};DIR *dir = NULL;struct dirent *ent = NULL;if (NULL == path){return 0;}dir = opendir(path);if (NULL == dir){return 0;}if (NULL == getcwd(cur_dir, PATH_MAX)){closedir(dir);return 0;}chdir(path);printf("current dir is %s\n", path);ent = readdir(dir);while (NULL != ent){if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0){space += 4096;goto GOON;}if (ent->d_type == DT_DIR){space += 4096;space += dir_space(ent->d_name);}else{struct stat st;lstat(ent->d_name, &st);space += st.st_size;}GOON:ent = readdir(dir);}chdir(cur_dir);closedir(dir);printf("out of dir %s\n", path);return space;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257923.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257923.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257923.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

android studio 手動安裝gradle,Android Studio 如何安裝Gradle?

今天新下載安裝了Android Studio 2.1&#xff0c;啟動并新建第一個項目&#xff0c;結果卡在 gradle 上。網上搜原因&#xff0c;得到這個網頁&#xff1a;http://blog.csdn.net/maxsky/article/details/50204093。說是要自己下載 gradle的壓縮包&#xff0c;查了項目目錄下的 …

Label 表達式綁定

Text<%#"總金額為: "Convert.ToString(Convert.ToDecimal(TextBox1.Text)*Convert.ToInt32(TextBox2.Text)%> Page_Load { Page.DataBind(); }轉載于:https://www.cnblogs.com/handsomer/p/4150386.html

(轉)如果知道dll文件是面向32位系統還是面向64位系統的?

本文為轉載文章&#xff0c;原文地址&#xff1a;http://www.cnblogs.com/qguohog/archive/2011/09/13/2174897.html&#xff0c;僅僅是記錄供后續使用&#xff0c;如有侵權請通知刪除。 在發布dll時&#xff0c;可以選擇編譯為x86模式、x64模式以及Any Cpu模式等。那么對于已經…

Spring Roo 簡介

一直以來&#xff0c;Java/Spring開發被認為是笨重的代表&#xff0c;無法快速生成項目原型和骨架。所以&#xff0c;Spring推出了Spring Roo這個項目&#xff0c;幫助我們快速生成項目原型。本文參考自Spring Roo的官方文檔&#xff0c;如果熟悉英文的話可以直接看原文檔&…

雙緩沖 android,Android 的 SurfaceView 雙緩沖應用

075 int index 0;本文引用地址&#xff1a;http://www.eepw.com.cn/article/201610/305442.htm076 try {077 index field.getInt(R.drawable.class);078 } catch (IllegalArgumentException e) {079 // TODO Auto-generated catch block080 e.printStackTrace();081 } catch …

Windows—JDK安裝與環境變量配置

本文介紹JDK的安裝與環境變量配置。 工具/原料 JDK1.8.0_65WIN7 32bitjdk-8u65-windows-i586.exe方法/步驟 安裝JDK 選擇安裝目錄 安裝過程中會出現兩次 安裝提示 。第一次是安裝 jdk &#xff0c;第二次是安裝 jre 。建議兩個都安裝在同一個java文件夾中的不同文件夾中。&…

典型案例道出“服務臺”的價值

引 言&#xff1a;作為運營管理著龐大IT系統的CIO&#xff0c;相信您或多或少都嘗試過&#xff0c;或正建有IT服務臺&#xff08;或幫助臺&#xff09;&#xff0c;然而您可能依然面臨服務效率低下&#xff0c;用戶滿意度欠佳的 困擾。這其中的原因&#xff0c;多半就在于您的服…

數據的藝術

數據的藝術概念:數據 --程序操作的對象&#xff0c;用于描述客觀事物。數據的特點:a. 可以輸入到計算機b. 可以被計算機程序處理*數據是一個抽象的概念&#xff0c;將其進行分類得到程序設計語言中的類型。數據元素 -組成數據的基本單位a. 數據項:一個數據元素由若干數據項組成…

處理ajax的session超時

做web開發時&#xff0c;當session超時時&#xff0c;如果不是ajax請求&#xff0c;很簡單就能實現跳到指定的頁面。但是ajax請求就會有問題。session超時的時候&#xff0c;點擊到ajax請求就會彈出一些頁面源碼文件。 首先建了個攔截器&#xff0c;來判斷session超時。用戶登錄…

菜根譚#249

色欲火熾&#xff0c;而一念及病時便興似寒灰&#xff1b; 名利飴甘&#xff0c;而一想到死地便味如嚼蠟。 故人常憂死慮病&#xff0c;亦可消幻業而長道心。轉載于:https://www.cnblogs.com/star4knight/p/4154590.html

實現物聯網項目,你需要提前知道的6件事情

目前為止&#xff0c;對于大多數尋求數字化與服務化轉型的制造商來說&#xff0c;實現物聯網應用項目仍然是一個很大的挑戰。 我們此前做過一項研究&#xff0c;到2016年底,全球企業級物聯網項目將超過10000個。但是其中大部分的項目都還是處于初期概念驗證(PoC)階段&#xff0…

android腳本快捷方式,Android:如何創建主屏幕快捷方式啟動shell腳本?

答案&#xff1a;您的問題的答案應該是GScript(開放源代碼和“根除設備上的任何地方”),但是當腳本完成時,誰想要盯著該模態終端輸出屏幕&#xff1f;詳情如下.> SManager (free version)將讓您將自定義腳本存儲在設備的任何位置,即使您使用根設備的內部存儲也是如此.它將允…

讀書 文摘 筆記

鳳凰項目: 一個IT運維的傳奇故事 微信商城開發實戰 跨境電商多平臺運營 活出生命的意義 托馬斯阿爾瓦愛迪生 奇跡的一生 阿爾伯特愛因斯坦 固執 自信 專利局 我的世界觀 愛因斯坦 艾薩克牛頓 母親讓牛頓停學在家務農&#xff0c;贍養家庭。但牛頓一有機會便埋首書卷&#…

修改Visual Stdio 2010界面,以及添加一些其它VS2010的插件

打開 Tools\Extension Manager&#xff08;工具\擴展管理器&#xff09;。 點聯機庫。 搜索“visual studio color theme editor”&#xff0c;就能看到一個名為“visual studio color theme editor”的擴展&#xff0c; 下載安裝好這個擴展&#xff0c;重新啟動 Visual Studio…

【NOIP2013】貨車運輸

Description A 國有 n 座城市&#xff0c;編號從 1 到 n&#xff0c;城市之間有 m 條雙向道路。每一條道路對車輛都有重量限制&#xff0c;簡稱限重。現在有 q 輛貨車在運輸貨物&#xff0c;司機們想知道每輛車在不超過車輛限重的情況下&#xff0c;最多能運多重的貨物。 Input…

殺死應用進程 android,如何殺死Android應用程序啟動的logcat進程?

我有Android應用程序,在Service啟動實現后面跟著代碼&#xff1a;...Process process Runtime.getRuntime().exec("logcat -v time -s " arg);BufferedReader bufferedReader new BufferedReader(new InputStreamReader(process.getInputStream()));...如您所見,我…

Android筆記(六十七) 自定義控件

實際編程中&#xff0c;系統提供的控件往往無法滿足我們的需求&#xff0c;一來是樣子丑陋&#xff0c;二來是一些復雜的組合需要多次使用的話&#xff0c;每次都寫一堆控件的組合會很耗費時間&#xff0c;所以我們將這些組件的組合自定義為一個新的控件&#xff0c;以后使用的…

android 7.0原生room,小米5S 安卓9.0 原生體驗 LineageOS16.0 ROOT

介紹ROM為第三方編譯安卓9.0 LineageOS16.0 &#xff0c;基本功能正常&#xff0c;如有其他bug&#xff0c;理性對待使用Magisk ROOT授權刷機完成后請務必到設置中手動設置當前系統時間和時區去網絡圖標上面的感嘆號和x號方法&#xff1a;打開CaptiveMgr軟件--自動彈出授權彈窗…

圖---互斥集

互斥集主要用于Kruskal算法中&#xff0c;用于求圖的最小生成樹。 互斥集主要有3個基本操作&#xff1a; 1. 初始化各個集合 Make(a)p[a] ← a 2. 查找各個集合的老祖宗 Find(a)if a p[a] : return aelse : return Find(p[a]) 3. 合并兩個集合 Union(a, b)p[Find(b)]…

Oracle配置監聽要注意的地方

昨天心血來潮&#xff0c;把Oracle的監聽都刪了&#xff0c;準備重新配一遍&#xff0c;結果弄了一天才配好&#xff0c;不過對Oracle的了解更深了一些。 對昨天的問題做一個總結&#xff1a; 1、直接在NetManager中刪掉監聽時&#xff0c;實際的監聽服務好像并沒有完全刪除&am…