使用readdir来将目录中的链接文件显示出来,并写入到一个文件内部,再将文件中的内容显示到屏幕上
程序
#include<stdio.h>
#include<dirent.h>
#include<sys/types.h>
#include<string.h>
int main(int argc, const char *argv[])
{
DIR *dp=NULL;
FILE *dest_file;
struct dirent *dt=NULL;
char ch;
int fileNum=0;
if(argc != 3)
{
fprintf(stderr,"Usage: %s dirname\n",argv[0]);
return -1;
}
dp = opendir(argv[1]);
if(dp==NULL)
{
perror("文件打开失败");
return -1;
}
//写入目标文件
dest_file = fopen(argv[2],"w+");
if(dest_file==NULL)
{
perror("打开文件失败");
return -1;
}
while(1)
{
dt=readdir(dp);
if(dt==NULL)
break;
if(dt->d_type==DT_LNK)
{
fprintf(dest_file,"%s\n",dt->d_name);
fileNum++;
printf("LNK文件:%s\n",dt->d_name);
}
}
while(fscanf(dest_file,"%c",&ch)!=EOF)
{
printf("%c",ch);
ch = 0;
}
closedir(dp);
fclose(dest_file);
return 0;
}
结果