如何浏览文件夹中的文件?

时间:2014-06-24 13:50:26

标签: c file directory

我正在尝试浏览文件夹中的文件以计算一些数字,但我在尝试这样做时遇到了一些麻烦。我正在使用Code :: Blocks,并用C语言写作。我看过类似的问题&这个网站上的答案,但似乎都没有解决我的问题。

这是我的代码开始的方式:

#include
<dirent.h>

#define prod

#ifndef prod
#define DIRPATH "C:\\Users\\User1\\...etc
#define FILEPATH "C:\\Users\\User1\\..   \\"
#else
#define DIRPATH  "C:\\Users\\User2\\..etc
#define FILEPATH C:\\Users\\User2\\..    \\"

#endif

int main(){

DIR* dir = NULL;
struct dirent *currentFile = NULL;
dir = opendir(DIRPATH);
char path[100] = FILEPATH;

while((currentFile = readdir(dir)) != NULL)
{
  if(strcmp(currentFile->d_name, ".") != 0 && strcmp(currentFile->d_name, "..") != 0)
  {
      char *filePath = (char *) malloc((strlen(path) + strlen(currentFile->d_name) - 1) * sizeof(char));
      filePath= strcpy(filePath, path);
      strcat(filePath,currentFile->d_name);
      FILE *file = fopen(filePath,"r");
      // PROGRAM DIES AT THIS POINT //
      free(filePath);
      fclose(file);
// the rest runs just fine
   }
}

通过使用printf,我能够推断出我的程序在应该打开文件时崩溃,尽管我不明白为什么。我已经打印了filePath,它给了我应有的东西。谁能帮我弄清问题是什么?

非常感谢, 尼古拉斯

0 个答案:

没有答案