[C] 递归目录并用stat获取文件信息错误...真诚求救!!!!C/C++ code#include stdio.h#include string.h#
[C] 递归目录并用stat获取文件信息错误...真诚求救!!!!
C/C++ code#include <stdio.h>#include <string.h>#include <dirent.h>#include <sys/stat.h>#include <assert.h>static void TraveDir (char *DirName){ DIR *pDir; struct dirent *DirHand; struct stat *StaBuf; pDir = opendir(DirName); char ChildDir[256]; strcpy(ChildDir,DirName); assert(pDir != NULL); while( (DirHand = readdir(pDir)) != NULL ) { if(DirHand->d_type == 4) { if( strcmp(DirHand->d_name,".") == 0 || strcmp(DirHand->d_name,"..") == 0 ) { continue; } sprintf(ChildDir,"%s/%s",DirName,DirHand->d_name); TraveDir(ChildDir); } else if(DirHand->d_type == 8) { char FileName[256]; sprintf(FileName,"%s/%s",ChildDir,DirHand->d_name); stat(FileName,StaBuf); printf("%s %ld\n",FileName,StaBuf->st_atime); } } closedir(pDir);}int main(void){ char *path = "/tmp"; TraveDir(path); return 1;}
/tmp/back/backupconf/10.3.3.13/log4j.properties 1346293061
/tmp/back/backupconf/10.3.3.13/ip.txt 1346293061
/tmp/back/backupconf/10.3.3.12/system.properties 1346293061
/tmp/back/backupconf/10.3.3.12/struts.properties 1346293061
/tmp/back/backupconf/10.3.3.12/jdbc.properties 1346293061
/tmp/back/backupconf/10.3.3.12/application.properties 1346293061
/tmp/back/backupconf/10.3.3.12/accounttype.properties 1346293061
/tmp/back/backupconf/10.3.3.12/badnames.properties 1346293061
/tmp/back/backupconf/10.3.3.12/messages_zh_CN.properties 1346293061
/tmp/back/backupconf/10.3.3.12/list.txt 1346293061
/tmp/back/backupconf/10.3.3.12/log4j.properties 1346293061
/tmp/back/backupconf/10.3.3.12/backupconf.sh 1346293061
段错误
//执行到一半的时候出现 段错误..... 不知道是什么问题....求解....谢谢!!!
[解决办法]struct stat *StaBuf;
内存呢?