a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言編寫獲取Linux本地目錄及本機信息的小程序?qū)嵗?/h1>
2020-01-26 14:38:50
字體:
供稿:網(wǎng)友

展示目錄的小程序
展示指定目錄的小程序:

#include <unistd.h>#include <stdio.h>#include <dirent.h>#include <string.h>#include <sys/stat.h>#include <stdlib.h> void printdir(char *dir,int depth){  DIR *dp;  struct dirent *entry;  struct stat statbuf;   if((dp = opendir(dir)) == NULL){    fprintf(stderr, "cannot open directory: %s/n", dir);    return;  }   chdir(dir);  while((entry = readdir(dp)) != NULL){    lstat(entry->d_name,&statbuf);    if(S_ISDIR(statbuf.st_mode)){      /*Found a directory,but ignore . and ..*/      if(strcmp(".",entry->d_name) == 0 || strcmp("..",entry->d_name) == 0){        continue;      }      printf("%*s%s/ /n",depth,"",entry->d_name);      /*Recurse at a new indent level*/      printdir(entry->d_name,depth+4);    }else{      printf("%*s%s /n",depth,"",entry->d_name);    }   }}int main(){  /*  show directory  */  printf("Directory scan of /home:/n");  printdir("/home",0);  printf("done. /n");     exit(0);}

根據(jù)參數(shù)輸出目錄的結(jié)構(gòu)

#include <unistd.h>#include <stdio.h>#include <dirent.h>#include <string.h>#include <sys/stat.h>#include <stdlib.h> void printdir(char *dir,int depth){  DIR *dp;  struct dirent *entry;  struct stat statbuf;   if((dp = opendir(dir)) == NULL){    fprintf(stderr, "cannot open directory: %s/n", dir);    return;  }   chdir(dir);  while((entry = readdir(dp)) != NULL){    lstat(entry->d_name,&statbuf);    if(S_ISDIR(statbuf.st_mode)){      /*Found a directory,but ignore . and ..*/      if(strcmp(".",entry->d_name) == 0 || strcmp("..",entry->d_name) == 0){        continue;      }      printf("%*s%s/ /n",depth,"",entry->d_name);      /*Recurse at a new indent level*/      printdir(entry->d_name,depth+4);    }else{      printf("%*s%s /n",depth,"",entry->d_name);    }   }}int main(int argc, char* argv[]){  /*  show directory  */  char *topdir = ".";  if(argc >= 2){    topdir = argv[1];  }  printf("Directory scan of %s:/n",topdir);  printdir(topdir,0);  printf("done. /n");     exit(0);}

獲取主機基本信息
獲取主機用戶信息:

#include <sys/types.h>#include <pwd.h>#include <stdio.h>#include <unistd.h> int main(){  uid_t uid;  gid_t gid;   struct passwd *pw;  uid = getuid();  gid = getgid();   printf("User is %s/n",getlogin());   printf("User IDs: uid=%d, gid=%d /n", uid, gid);   pw = getpwuid(uid);  printf("UID passwd entry: /n name=%s, uid=%d, gid=%d, home=%s, shell=%s/n",pw->pw_name, pw->pw_uid, pw->pw_gid, pw->pw_dir, pw->pw_shell);   pw = getpwnam("root");  printf("root passwd entry: /n");  printf("name=%s, uid=%d, gid=%d, home=%s, shell=%s /n",pw->pw_name, pw->pw_uid, pw->pw_gid, pw->pw_dir, pw->pw_shell);  exit(0);}

獲取主機自身信息:

#include <sys/utsname.h>#include <unistd.h>#include <stdio.h>  int main(){  char computer[256];  struct utsname uts;  if(gethostname(computer, 255) != 0 || uname(&uts) < 0){    fprintf(stderr, "Could not get host information /n");    exit(1);  }   printf("Computer host name is %s /n",computer);  printf("System is %s on %s hardware /n",uts.sysname, uts.machine);  printf("Nodename is %s /n",uts.nodename);  printf("Version is %s , %s /n",uts.release, uts.version);   exit(0);}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 国产欧精精久久久久久久 | 亚洲国产精品18久久 | 免费看的黄网站 | 日韩免费视频一区二区 | 9uu在线观看| 美女黄色在线观看 | 亚洲九九| 色婷婷综合国产精品一区 | 欧美激情视频一区二区三区在线播放 | 欧美在线播放一区 | 免费黄色在线观看 | 国产又粗又猛视频免费 | 久久久国产一区二区三区 | √8天堂资源地址中文在线 黄色av网站在线 | 国产精品三级在线 | 亚洲精品一二区 | 91激情视频 | 成人在线小视频 | 欧美啪 | 亚洲欧美日韩电影 | 日韩电影一区二区三区 | 久久精品欧美一区二区三区不卡 | 看a网站 | 黄色一级片视频 | 国产精品欧美一区二区三区不卡 | 国产精品一二三区 | 国产成人精品一区二区三区网站观看 | 亚洲精品一区二区在线观看 | 欧美 日韩 在线播放 | 亚洲大胆人体视频 | 亚洲欧美一区二区三区在线 | 日韩最新av | 黄p网站在线观看 | 97久久精品人人澡人人爽 | av性色 | 国产精品视频播放 | 久久伊人草 | 青青草人人 | 99久久精品国产一区二区三区 | 日本不卡在线 | 久久久久久久久久久免费av |