素直にこれでファイル名を得るのは却下なのか?


#include <stdio.h>
#include <dirent.h>
#include <string.h>

int main(int argc, char *argv[])
{
 DIR *dir;
 struct dirent *dp;
 char path[FILENAME_MAX];

 getcwd(path, FILENAME_MAX);
 if ((dir = opendir(path)) == NULL)
  return -1;

 while ((dp = readdir(dir)) != NULL)
 {
  if (strncmp(dp->d_name + strlen(dp->d_name)-4, ".csv",4) == 0)
   printf("%s\n", dp->d_name);
 }
 closedir(dir);

 return 0;
}