0

我写了下面的代码,但是当我在内存中分配 word 时它变成了 NULL!以下代码的问题在哪里?我被迫在此写下为什么将精简版拆分为单词:(请提供任何帮助

void strSplit(const char *line, char *words[]){

    char *word = new char[81];
    int index = 0;
    int s = strlen(line);
    for(int i = 0; i < s; i++)
    {
        if(line[i] != ' ' && line[i] != ',' && line[i] != ';')
        {
            if(word == NULL)
            {
                strcpy(word, (line[i] + "\0"));
            }
            else 
            {
                strcat(word, (line[i] + "\0"));
            }
        }
        else
        {
            if(word != NULL){
                strcpy(words[index], word);
                puts(words[index]);
                index++;
                puts(word);
                word = NULL;
            }
        }

    }
}
4

1 回答 1

3
if (word == NULL) {
    strcpy(word, stuff);
}

这是自杀。

于 2013-02-23T10:28:33.677 回答