c语言 读取目录中的文件名,并将其存入数组中

如题所述

第1个回答  2019-03-21
用system
调用
DOS
DIR
命令就可以了:
system
(
"dir
sss_*
/B
>
log.txt");
这就把
前缀为sss_的文抄件
文件名
存入
log.txt
文件了。
一个名字袭一行,没有别的东西。
你再
读出zhidao来。
#include
<stdio.h>
main()
{
FILE
*fp;
char
str[30][50];
//
假定文件数不超过30个
int
i,n=0;
system("dir
sss_*
/B
>
log.txt");
fp=fopen("log.txt","r");
while(1){
if
(
fgets(str[n],50,fp)==NULL)
break;
str[n][strlen(str[n])-1]='\0';
//
加一个字符串结束符
n++;
}
fclose(fp);
for
(i=0;i<n;i++)
printf("%s\n",str[i]);
}
第2个回答  2019-11-21
1.
把所有的文件名一个个提取出来
2.
用字符串的startwith或是find函数来判断是不是以sss_开头,若是的话,就加到一个数组里
相似回答