[問題] STL for_each 算總和
看板C_and_CPP (C/C++)作者softwind (software everywhere)時間15年前 (2010/08/07 11:00)推噓0(0推 0噓 21→)留言21則, 4人參與討論串1/2 (看更多)
各位板眾好 我有一個小問題想要請教
我想要算某一個檔案下的 所有檔案大小的總和
(不要問我 Why 不用右鍵內容...)
so 程式大概像這樣
WIN32_FIND_DATA findData;
HANDLE handle = FindFirstFile(...,&findData);
vector<WIN32_FIND_DATA> vcFind;
do{
vcFind.push_back(findData);
}while(FindNextFile( handle )!=0);
這邊很簡單
但是下一步要算 檔案的總和
HOWTO???
like C的寫法
unsigned long total=0;
for(vector<WIN32_FIND_DATA>::const_iterator iter=vcFind.begin();
iter!=vcFind.end(); iter++){
n+=iter->nFileSizeLow;
}
然後這邊可以得到該層目錄的 total file size.
但是 我想要套用 for_each的方式 不過想不出來正確的表示式...
for_each(vcFind.begin(), vcFind.end(), /* 這邊該怎麼填? */ )
我想用 bind1st( plus<int>(), totaSize );
可是 WIN32_FIND_DATA 沒有辦法cast成 int...
Ruby的話我會寫
vcFind.each{ |find|
totalSize+=find.dwFileSizeLow;
}
但是轉成 C++ template...
sorry~ 我真的是不熟 觀念上一直會卡住...
麻煩板上高手解答
感謝~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.253.165.37
※ 編輯: softwind 來自: 111.253.165.37 (08/07 11:02)
→
08/07 11:07, , 1F
08/07 11:07, 1F
→
08/07 11:08, , 2F
08/07 11:08, 2F
→
08/07 11:10, , 3F
08/07 11:10, 3F
→
08/07 11:14, , 4F
08/07 11:14, 4F
→
08/07 11:14, , 5F
08/07 11:14, 5F
→
08/07 11:21, , 6F
08/07 11:21, 6F
→
08/07 11:22, , 7F
08/07 11:22, 7F
→
08/07 11:23, , 8F
08/07 11:23, 8F
→
08/07 11:29, , 9F
08/07 11:29, 9F
→
08/07 12:41, , 10F
08/07 12:41, 10F
→
08/07 12:43, , 11F
08/07 12:43, 11F
→
08/07 12:44, , 12F
08/07 12:44, 12F
→
08/07 12:45, , 13F
08/07 12:45, 13F
→
08/07 12:49, , 14F
08/07 12:49, 14F
→
08/07 12:50, , 15F
08/07 12:50, 15F
→
08/07 13:12, , 16F
08/07 13:12, 16F
→
08/07 13:44, , 17F
08/07 13:44, 17F
→
08/07 13:45, , 18F
08/07 13:45, 18F
→
08/07 13:48, , 19F
08/07 13:48, 19F
→
08/07 14:22, , 20F
08/07 14:22, 20F
→
08/07 14:48, , 21F
08/07 14:48, 21F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章