C ++ strtok函数拆分词

时间:2013-10-02 04:12:43

标签: c++ function split word strtok

我要在c ++中编写一个名为splitLine()的函数。 有人可以帮忙吗?我真的很困惑

splitLine () {

    string temp = aLine;
    string *tempLine =  strtok(temp, " ");
    free(temp)
    countNum = sizeOf(tempLine);

   }

1 个答案:

答案 0 :(得分:1)

你误解了这些指示。

strtok函数对nul终止的char数组(又名C字符串)而不是C ++字符串进行操作。所以创建一个临时的'字符串'实际上意味着这个

// create temporary string which is a copy of aLine
char* temp = new char[aLine.size() + 1];
strcpy(temp, aLine.c_str());

// extract words from temp
...

// free temporary string
delete[] temp;

将临时字符串分解为strtok的单词意味着编写循环strtok会一次提取一个字。我相信你可以在互联网上找到这方面的例子。所以我会把它留给你。