问题:显示指定目录下的 .c 文件
算法:
1. opendir ( ) 打开文件夹
2. readdir ( ) 读取文件名
3. 通过字符串比对找出 .c 文件并打印输出
4. closedir ( ) 关闭文件夹
代码:
#include<stdio.h>
#include<sys/types.h>
#include<dirent.h>
#include<string.h>
int main(int argc,char* argv[]){
DIR *pd = NULL;
struct dirent *pitem = NULL;
char *p = NULL;
int len = 0;
if(argc < 2){
printf("The argument is too few.\n");
return 1;
}
pd = opendir(argv[1]); // 打开文件夹
pitem = readdir(pd); // 读取
while(pitem != NULL){
if(pitem->d_type == DT_REG){ // 如果是常规文件
len = strlen(pitem->d_name); // 获取文件名长度
if(len >= 2){
p = pitem->d_name + len - 1 - 1;// 定位到倒数第二个字符
if(strcmp(p,".c") == 0) // 找出文件结尾是.c的文件
printf("%s\n",pitem->d_name); // 打印输出
}
}
pitem = readdir(pd);
}
closedir(pd);
pd = NULL;
return 0;
}
输出:
p.s. 省略 gcc 编译过程 , ./ 表示 当前文件夹
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 显示指定目录下的 .c 文件 Linux环境 C语言实现
发表评论 取消回复