如何从文件夹中读取文件?该文件夹包含不同类型的文件名?

时间:2013-02-26 10:23:49

标签: c++ c

文件夹名称示例和文件类似

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++; 
   } 
} 

我从中获取文件名。但是如何存储文件以及如何从所有文件中获取数据

1 个答案:

答案 0 :(得分: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确实是文件,而不是目录或某些特殊文件。