简体   繁体   English

将字符串拆分为单词数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM