我有一个声明这样的字符串数组:准备字符串数组函数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