不同目錄下同名檔案的提取與拷貝
程式需求:例如有目錄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