我一直在检查和解决这个程序,但没有成功,希望你能帮助我。
这个想法是读取存储在其中的目录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);
}