2010-11-26 16:08:03
| 分類:
linux
| 標籤:|字型大小
大中小訂閱
學習了linux下用c語言遍歷資料夾,一些心得
struct dirent中的幾個成員:
d_type:4表示為目錄,8表示為檔案
d_reclen:16表示子目錄或檔案,24表示非子目錄
d_name:目錄或檔案的名稱
具體**如下,僅供參考
#include
#include
#include
void list(char *path)
else}}
}int main(int argc, char *argv)
上面函式修改後:
void list(char *path)
}else if(ent->d_reclen==16)
else}}
#include
#include
#include
#include
void dir_scan(char *path, char *file);
int count = 0;
int main(int argc, char *argv)
if(lstat(argv[1], &s) < 0)
//判斷乙個路徑是否是目錄
if(!s_isdir(s.st_mode))
dir_scan("", argv[1]);
printf("total: %d files\n", count);
exit(0);
}
void dir_scan(char *path, char *file)
if(s_isdir(s.st_mode))
if(chdir(file) < 0)
while((dt = readdir(dir)) != null)
dir_scan(dirname, dt->d_name);
}
if(chdir("..") < 0)
}else
}linux c 下如何獲得目錄下的檔案數目。
int main(
int argc,
char
**argv)
fcnt=0;
for(pdirent=readdir(pdir)
;pdirent!=null;pdirent=readdir(pdir)
)printf
("檔案總數%d\n"
,fcnt)
;closedir(pdir)
;return 0;
}#include
#include
#include
#include
#include
void printdir(char *dir, int depth)
chdir(dir);
while((entry = readdir(dp)) != null)
else printf( "%*s%s\n ",depth, " ",entry-> d_name);
} chdir( ".. ");
closedir(dp);
} /**//* now we move onto the main function. */
int main(int argc, char* argv)
linux用c語言來遍歷目錄
做遍歷目錄需要的函式有 dir opendir const char name struct dirent readdir dir dir closedir const char name 其中 readdir 返回引數dir目錄流的下個目錄進入點。結構dirent定義如下 struct diren...
Linux下用C語言API連線MySQL資料庫
像php和perl一樣,mysql也提供的c語言使用的api.c 的api是隨mysql一起發布的.它包含在mysqlclient庫中,可以使c程式來訪問資料庫.mysql原始碼包中的許多客戶端都是用c寫的.如果你正在找使用這些c api的例子,可以看看客戶端的寫法.你可以在mysql原始碼包的cl...
在Linux下用C語言實現簡訊收發
去年在部落格裡發這個貼時,只將主程式 貼了出來,導致資訊不完整,讓讀者根本無法進行實驗。為此,現將全部 貼出來,為想在linux下開發基於簡訊貓的簡訊收發程式的朋友提供一點參考。首先,我根據功能需要建立了幾個標頭檔案,乙個是stringex.h,包含一些字串輔助函式 乙個是inifile.h,包含讀...