C++ strtok 函数拆分单词

C++ strtok function split words

本文关键字:单词 拆分 函数 strtok C++      更新时间:2023-10-16

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

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

你误解了说明。

strtok 函数对 null 终止的字符数组(又名 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将一次提取一个单词。我相信你可以在互联网上找到这样的例子。所以我就交给你了。