我正在嘗試使用qsort對字符指針數組進行排序,並在編譯時保持出現分段錯誤。我會發布我的qsort調用的代碼和比較函數和任何幫助將不勝感激。使用q sort進行分段錯誤?
//count declaration
size_t count = (sizeof (strPtrsQsort)/sizeof (*strPtrsQsort));
//function call
qsort ((char *)ptr, size, sizeof(char), compare);
//compare function
int compare (const void *a, const void *b)
{
const char **ia = (const char **)a;
const char **ib = (const char **)b;
return strcmp (*ia, *ib);
}
什麼是'count',什麼是'strPtrsQsort',並且他們目前的代碼片段你貼? 'qsort'中沒有任何地方使用它們。 – AnT 2014-10-09 18:19:51
爲什麼在C++中使用C字符串,原始數組和C的'qsort'?使用'std :: vector'和'std :: sort'。 –
crashmstr
2014-10-09 18:21:57
如果你想對一個指針數組進行排序,爲什麼數組元素的大小作爲'sizeof(char)'傳遞給'qsort'?如何聲明'ptr'?爲什麼在傳遞給'qsort'之前將它轉換爲'char *'? – AnT 2014-10-09 18:24:12