主要是冷氣太足感冒了,加上少吃藥抗藥性差,全天昏迷,學傻了學傻了?
?cat t_chdir.c
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <errno.h>
#include <sys/stat.h>int main(int argc,char *argv[])
{// ./t_chdir dir if(argc!=2){error(1,errno,"Usage:%s dir",argv[0]);}//打印當前工作目錄char buf[128];printf("%s\n",getcwd(buf,128));//改變當前工作目錄if(chdir(argv[1])==-1){error(1,errno,"chdir %s ",argv[1]);}printf("%s\n",getcwd(buf,128));return 0;
}
cat t_getcwd.c
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <errno.h>int main(int argc,char *argv[])
{// ./t_getcwd//char buf[128];//char *cwd=getcwd(buf,128);char* cwd=getcwd(NULL,0);//如果傳入的 buf為 NULL,且size為0//,則 getcwd 會調用 malloc 申請合適大小的內存空間,//填入當前工作目錄的絕對路徑//,然后返回alloc申請的空間的地址。if(!cwd){error(1,errno,"getcwd");}printf("%s\n",cwd);return 0;
}
cat t_mkdir.c
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <errno.h>
#include <sys/stat.h>int main(int argc,char *argv[])
{// ./t_mkfir dir modeif(argc!=3){error(1,errno,"Usage:%s dir mode",argv[0]);}mode_t mode;sscanf(argv[2],"%o",&mode);if(mkdir(argv[1],mode)==-1){error(1,errno,"mkdir %s ",argv[1]);}return 0;
}
cat t_readdir.c
#include <func.h>int main(int argc,char *argv[])
{// ./t_readdir dir if(argc!=2){error(1,0,"Usage:%s dir mode",argv[0]);}//打開目錄流DIR * dirp=opendir(argv[1]);if(dirp==NULL){error(1,errno,"opendir :%s ",argv[1]);}//依次讀取每一個目錄流errno=0;struct dirent *p;while((p=readdir(dirp))!=NULL){//打印目錄項printf("d_ino=%ld ,d_off=%ld ,d_reclen=%hu ,d_type=%u ,d_name=%s\n",p->d_ino,p->d_off,p->d_reclen,p->d_type,p->d_name );}//p==NULLif(errno){error(0,errno,"readdir");}//關閉目錄流closedir(dirp);return 0;
}
cat t_rmdir.c
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <errno.h>
#include <sys/stat.h>int main(int argc,char *argv[])
{// ./t_rmfir dirif(argc!=2){error(1,errno,"Usage:%s dir mode",argv[0]);}if(rmdir(argv[1])==-1){error(1,errno,"rmdir %s ",argv[1]);}return 0;
}