c++中怎么把读取文件夹下的所有文件名存入数组

是给定一个文件夹。读取文件夹中的文件名。放到数组里面然后打印出来

1、在linux平台,可采用目录操作函数,读取当前目录下的文件
#include <sys/types.h>
#include <dirent.h> //windows开发工具没有这个头文件
#include <unistd.h>
#include <string.h>
main()
{
DIR * dir;
struct dirent * ptr;
char file_list[100][40];
int i=0;
dir = opendir("/etc/rc.d"); //打开一个目录
while((ptr = readdir(dir)) != NULL) //循环读取目录数据
{
printf("d_name : %s\n", ptr->d_name); //输出文件名
strcpy(file_list[i],ptr->d_name ); //存储到数组
if ( ++i>=100 ) break;
}
closedir(dir);//关闭目录指针
}
2、在windows平台下,如VC也有类似的操作函数,如:
#include <string>
#include <iostream>
using namespace std;

#include <WINDOWS.H>

void main()
{
string szPath="d:/*.*";
WIN32_FIND_DATA wfd;
HANDLE hFind;
char file_list[100][40];
int i=0;

hFind = FindFirstFile(szPath.c_str(), &wfd) ;
do
{
cout << wfd.cFileName << endl ;
strcpy(file_list[i],wfd.cFileName ); //存储到数组
if ( ++i>=100 ) break;
}while (FindNextFile(hFind, &wfd));

FindClose(hFind);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-14
简单点的:
char x[100][100] = {{0}};
int i = 0;
system("dir /B/A-D C:\Windows > filelist.txt");
fp = fopen("filelist.txt", "r");
while (!feof(fp) && i < 100)
{
fgets(x[i++], fp);
}追问

能注释一下么= =

追答

system("dir /B/A-D C:\Windows > filelist.txt");
==> 执行Windows指令将某一个目录下的所有的文件列出来并输出到一个文本文件中

fp = fopen("filelist.txt", "r");
==> 打开文本文件,准备读取目录下的各个文件名(本身就不含有路径在内的)

while (!feof(fp) && i 如果文件没有到结尾而且数组未满

fgets(x[i++], fp);
==> 从文件中读取字符串也就是文件名,到数组元素中

最后别忘记了关闭文件阿:
fclose(fp);
fp = NULL;

本回答被提问者采纳
第2个回答  2013-04-24
如果是windows的话,有专门遍历文件的API 一边遍历一边放进去就可以了

c++中怎么把读取文件夹下的所有文件名存入数组
1、在linux平台,可采用目录操作函数,读取当前目录下的文件 include <sys\/types.h> include <dirent.h> \/\/windows开发工具没有这个头文件 include <unistd.h> include <string.h> main(){ DIR * dir;struct dirent * ptr;char file_list[100][40];int i=0;dir = opendir("\/etc\/rc.d")...

C++怎么把文件中的数据读入到对象数组中呢?
} printf("文件读入结果如下:\\n");fread(c,sizeof(consumer),5,fp);for(i=0; i<5; i++){ printf("%s %s %.2f\\n",c[i].num,c[i].passwd,c[i].money);} fclose(fp);return 0;}

请问C++ 如何从txt文件中读取数据,然后保存在类的数组中?
要声明一个信息(学生)类的数组然后再读文件,读文件大概代码如下:ifstream File_read;while(!File_read.eof()){ File_read>>data[i].num>>data[i].name>>data[i].score;i++;} 数组data是的类型是信息类。自己试试。

如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中
推荐使用文件流来读取。如果你的数据是用空格、制表符和换行符来分隔的,那么程序可以写的很简单。直接逐行用fin就可以了。如果你的数据是用逗号或者其他字符来分隔,用换行来分行的,那么你需要在循环中写入两次读入,第一次用于读入数据,第二次用于跳过字符。如果数据中间的分隔字符是不规范、不一致、...

C++如何在文件中读取数据,然后保存在一个数组中
include<iostream> include<fstream> using namespace std;void main(){ int s[5][2];ifstream fin("a.txt");int x;fin>>x;for(int i=1;i<x;i++){ for(int j=1;j<2;j++){ fin>>s[i][j];} } ofstream fout("input.txt");fout<<x;for(int k=1;k<k;k++){ for(...

C++怎么读取指定TXT文档数据存入数组中
freopen("文件路径名","r",stdin);int case = 3, A, B;double a[3][3][3];scanf("A=%lf B=%lf",&A,&B);while(case--){ for(i = 0;i < 3;i ++){ for(j = 0;j < 3;j++){ for(k = 0;k < 3;k++){ scanf("%lf",&a[i][j][k]);} } } } ...

c语言 文件读取 字符 到一个字符数组
1、首先打开Dev-C++软件,单击文件--->另存为,保存源文件。2、在保存文件对话框中,将保存类型选择为C,文件名为输出宽字符。3、首先,定义头文件的,如下图所示。4、接着,定义主函数名。定义一个宽字符类型的变量wstr,类型用wchar_t表示。5、提示输入宽字符型变量,在键盘输入任意的宽字符。...

C++ 从TXT文件中读取数据存到数组中??你是怎么解决的谢谢
文件中读取数据存到数组中的命令:include <fstream> void main()nclude <stdio.h> include <math.h> define MaxLength { int a[10];ifstream fin("D:\/我的输入文件.txt");for(int i=0;i<10;i++)fin>>a[i];for(int i=0;i<10;i++)cout<<a[i]<<endl;ofstream fout("D:\/我的...

C++编程读取TXT数据,将其赋值到数组,而后进行计算
最简单的方式是用freopen,使用了这个函数之后所有的cin\/cout就会从文件中读出或者写入,或者也可以用fstream;include <iostream>#include <cstdio>#define maxn 10000using namespace std;struct m{ int x; int y; int z;}a[maxn];int main(){ freopen("\/*文件名*\/","r"\/*代...

VC++,读取txt文件数据,并存入数组中。
\/\/参数 Filename 为要读的文件名,如:readdd.txt 。int ReadFileToBUF(char * Filename,int bufdd[][SECONDCLM],int len){ FILE *fp=fopen(Filename,"r");if(fp == NULL)return 0;char buf[256],numberbuf[10];char * cur,* p;int index,index1;int temp[SECONDCLM];int all...

相似回答