why is the program crashing when I change 3000 to 4000 on this line
char arrFilename[3000][MAX_PATH + 1];
Code:#include <stdio.h> #include <string.h> #include <dirent.h> #include <time.h> main() { int i,j; char path[100] = "c:\\temp"; // crashes at 4000???? char arrFilename[3000][MAX_PATH + 1]; DIR *dir; struct dirent *ent; dir = opendir(path); if (dir != NULL){ j = 0; while((ent = readdir (dir)) != NULL) { //printf("j = %d fname: %s\n",j,ent->d_name) ; //copy string to array strcpy(arrFilename[j],ent->d_name); j++; } closedir (dir); } else { /* could not open directory */ perror (path); //return EXIT_FAILURE; } // print array of filenames for (i = 0; i < j; ++i) { printf("i %d: %s\n",i, arrFilename[i]); } }



2Likes
LinkBack URL
About LinkBacks



