0

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

splitLine () {

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

   }
4

1 回答 1

1

你误解了指示。

strtok函数对 nul 终止的字符数组(又名 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;

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

于 2013-10-02T05:59:20.203 回答