作业:使用readdir来将目录中的链接文件显示出来,并写入到一个文件内部,再将文件中的内容显示到屏幕上
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main(int argc, char *argv[])
{
DIR *dir=opendir(argv[1]);//打开目录
struct dirent *dirp=NULL;//文件结构体
FILE *file=fopen("long.txt","w+");//写到long.txt
if(argc !=3)
{
fprintf(stderr,"%s\n",argv[0]);
return -1;
}
if(dir !=NULL)
{
while((dirp =readdir(dir))!=NULL)//读目录直到读完为止
{
if(dirp->d_type==DT_LNK)//判断文件类型是不是链接文件
{
fprintf(file,"%s\n",dirp->d_name);//把目录名写到文件里
}
}
closedir(dir);
}
fclose(file);
char str[100];
file=fopen("long.txt","r");//以读的方式打开文件
while(fgets(str,100,file)!=NULL)
{
printf("%s",str);
}
fclose(file);
return 0;
}