将一系列字符分解为单词

时间:2016-11-19 22:21:42

标签: c++ c

我需要帮助解决这个问题,

如何将像这个“char * text”的char数组分解为基于特定分隔符的单个单词,并将其保存为“char * text []”形式,而不使用strtok函数或“iostream”之外的任何库。

在正常情况下,我会使用字符串而不是char数组和strtok函数,但在这种情况下,我根本不被允许。

谢谢,

更新: 我已经包括了我的尝试

javascript:document.getElementById('name').value = 'string1'; undefined;

1 个答案:

答案 0 :(得分:0)

这里是伪代码

words split(line, delims)
{
    nb_words = cound_words(line);
    words = allocate_words(nb_words + 1); // words is a array of pointer
    i = 0
    j = 0
    while true
    {
        while line[i] in delims // we transform every delims into a end string
        {
            line[i] = end_string
            i++
        }
        if line[i] not end_string
        {
            words[j] = line + i // we stock the address of line[i]
            j++
            while line[i] not in delims and line[i] not end_string
            {
                i++
            }
        }
        else
        {
            words[j] = NULL // we end the array by NULL pointer
            return words
        }
    }
}

count_word使用类似的循环。我让你找到它。该算法的目的是将线转换为多个单词。因此,只要您使用单词,行就必须有生命。