私はかなり長い間この手順をチェックして戦ってきましたが、うまくいきませんでした。助けていただければ幸いです。
アイデアは、格納されているディレクトリを読み取り、読み取ったディレクトリc_Localpath
をコピーしc_namesLocal
て返すことです。
実装で何か間違ったことをしていますか? でプログラムが中断しstrcpy
ます。その理由はわかりません。
DIR* ptr_dir = opendir(c_Localpath);
char** c_namesLocal = calloc(1, 256);
size_t numElements = 0;
int returnCode =0;
struct dirent ptr_PrevDirEntry;
struct dirent* ptr_DirEntry = NULL;
returnCode = readdir_r(ptr_dir, &ptr_PrevDirEntry,
&ptr_DirEntry);
while ((returnCode ==0) && (ptr_DirEntry != NULL)) {
char* name = c_namesLocal[numElements];
strcpy(name, ptr_DirEntry->d_name);
ptr_PrevDirEntry = *ptr_DirEntry;
returnCode = readdir_r(ptr_dir, &ptr_PrevDirEntry,
&ptr_DirEntry);
numElements++;
c_namesLocal = realloc(c_namesLocal, 256 * numElements);
}