我正在使用 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++;
}
我可以打印所有的文件,但是每次打印一个目录下的文件,最后的结果是这样的:
守护进程 - 。 守护进程 1 - 。 守护进程-.. 守护进程 1 - .. 守护进程-fich5 Daemon1 - fich4 守护进程-fich3 Daemon1 - fich3
我不明白为什么开头有点。 Obs.:我不介意,但我在笔上使用 Ubuntu 14.04,这意味着每次我使用 Ubuntu 时,我都会使用试用版而不是在我的电脑上使用双启动。
最佳答案
.
和 ..
是两个特殊文件,它们存在于 Linux 和其他类 Unix 系统的每个目录中。 .
代表当前目录,..
代表父目录。
关于c - 当我从目录打印文件时,为什么会出现点 ("."和 "..")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23717515/