2013-02-26 121 views
-1

文件夹名称样品和文件类似于如何从文件夹中读取文件?文件夹包含不同类型的文件名?

1.text 
1_1.text , 
1_2.text, 
1_3.text, 
3.text, 
4_1.text 

我们必须从不同的文件中读取的麻烦。

代码:

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
      printf(dent->d_name); 
      count++; 
    } 
} 

我正在从该文件的名称。但我怎么能存储的文件,我怎么能得到的所有文件

+2

[你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)你的目标是什么平台(操作系统)? – 2013-02-26 10:24:51

+0

有什么困难?失败的代码在哪里? – Rohan 2013-02-26 10:24:54

+1

很伤心。你有什么尝试? – 2013-02-26 10:25:07

回答

1

数据只是扩大你的代码,并与fopen

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
     FILE *fp = fopen(dent->d_name, "r"); 
     /* process file */ 
     fclose(fp); 
    } 
} 

fstream

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
     ifstream f(dent->d_name); 
     /* process file */ 
    } 
} 

如果打开文件你在Unix上,你可以使用stat来验证,那dent->d_name确实是一个文件,而不是一个目录或一些特殊文件。

+1

对OP的警告:在打开文件供阅读之前,您应该检查从'readdir'获得的“文件”实际上是一个文件,而不是别的。 – 2013-02-26 10:45:08

+0

@JoachimPileborg非常好的一点!谢谢。 – 2013-02-26 10:50:53

相关问题