我想在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/ –