1. 程式人生 > >不同目錄下同名檔案的提取與拷貝

不同目錄下同名檔案的提取與拷貝

程式需求:例如有目錄a和b,需要找出兩者之下同名的檔案,記住是同名不需要格式一樣,然後將同名的檔案從a拷貝到另外一個目錄c下。

實現如下:(實現了將f盤下a目錄和b目錄中同名檔案從a拷貝到c中)

opendir用於開啟目錄,是類似於流的那種方式,返回一個指向DIR結構體的指標他的引數*dirname是一個字元陣列或者字串常量

readdir函式用於讀取目錄,只有一個引數,這個引數主opendir返回的結構體指標,或者叫控制代碼更容易理解些吧。這個函式也返回一個結構體指標 dirent * ,dirent的結構如下定義
                   struct dirent
                   {
                       long d_ino;                      /* inode number */
                       off_t d_off;                     /* offset to this dirent */
                       unsigned short d_reclen;         /* length of this d_name */
                       char d_name [NAME_MAX+1];        /* file name (null-terminated) */
                   }


if(strcmp(d->d_name, ".") != 0 && strcmp(d->d_name, "..") != 0)
如果不加這句,會輸出目錄,輸出結果:
.
..
1.txt
2.txt