我想在C动态添加字符串到字符指针使用malloc和realloc
我有麻烦存储字符数组内的指定目录内的文件名来读取使用的dirent头文件的目录。
代码如下。
char * FileNames;
while ((DirentPointer = readdir(DirectoryPointer)) != NULL) {
strcpy(&FileNames[Counter], DirentPointer -> d_name);
Counter++;
}
当我运行该应用程序时,我得到一个分段错误。我认为strcpy由于内存分配而导致应用程序错误。
任何人都可以告诉我如何malloc和realloc可以用来动态地添加内存分配到FileNames Char *吗?
我想你的第一个问题是'FileNames'只是一个字符数组。你需要和指向字符的指针来存储所有的名字'char ** FileNames;' –
我是新来的语言,要诚实。如果我创建一个指向指针的指针,我怎样才能在strcpy方法中引用数组?我应该使用&&吗? – Andrew
看看本教程,它可能很有用:http://www.cplusplus.com/doc/tutorial/pointers/ –