[英]Splitting String Into Array Of Words
I am working on a C function to split a string of letters into an array, however it keeps seg faulting and I have no idea why. 我正在使用C函数将一串字母拆分成一个数组,但是它始终会出现段错误,我不知道为什么。
I have run it through DDD a few times, it was not of much help. 我已经通过DDD运行了几次,但并没有太大帮助。
char* stringToArray(const char *desc)
{
int i = 0;
int j = 0;
char *array[5][10] = {{0}};/*5 words, 10 chars each*/
while (desc[i] != '\0')
{
if (desc[i] != ' ') {
*array[j][i] = desc[i]; /*seg faults here*/
}
else {
j++;
}
i++;
}
return **array;
}
Any help would be greatly appreciated Thanks. 任何帮助将不胜感激谢谢。
You will need to make your array static or allocate some memory for it - returning a pointer to a local array won't work. 您将需要使数组静态或为其分配一些内存-返回指向本地数组的指针将不起作用。
You also might want to check out strtok. 您可能还需要签出strtok。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.