我使用C語言打印來自兩個目錄的文件。這裏是我的代碼:爲什麼打印目錄中的文件時出現點(「。」和「..」)?
char *list1[30], *list2[30];
int i=0, x=0;
struct dirent *ent, *ent1;
/* print all the files and directories within directory */
while ((ent = readdir (dirSource)) != NULL) {
list1[i] = ent->d_name;
i++;
}
i=0;
while((ent1 = readdir (dirDest)) != NULL) {
list2[i] = ent1->d_name;
i++;
}
while(x != i){
printf("Daemon - %s\n", list1[x]);
printf("Daemon1 - %s\n", list2[x]);
x++;
}
我可以打印所有的文件,但每次我打印出一個目錄中的文件,最終的結果是這樣的:
守護 - 。 Daemon1 - 。 守護 - .. Daemon1 - .. 守護 - fich5 Daemon1 - fich4 守護 - fich3 Daemon1 - fich3
我不明白爲什麼在開始點。 Obs .:我不喜歡,但我在筆上使用Ubuntu 14.04,這意味着每次使用Ubuntu時,我都會使用試用版,而不是在我的電腦上使用雙啓動。
是這些指針甚至有效? – this