我有一個聲明這樣的字符串數組:準備字符串數組函數strlen
char *strs[MAX_STRINGS];
我逐步增加值的數組是這樣的:
char buffer [MAX_LENGTH];
buffer = someFunctionThatReturnsAStringPointer();
strs[i] = malloc(sizeof(buffer)+1);
strcpy(strs[i],buffer);
我需要通過數組值環當我到達一個沒有值的索引時停止,所以strlen應該可以工作,但是每當我點擊一個沒有設置的索引時它就會保持斷續:
while(strlen(strs[i])!=0) //segfaults when it gets to an unset index
如何初始化strs數組,使其不會與strlen進行段錯誤?
我試圖memset(strs,0,MAX_STRINGS);
,但它搞砸了很多東西(串用胡言亂語取代),仍然segfaulted