【问题标题】:C++ strtok function split wordsC ++ strtok函数拆分单词
【发布时间】:2013-10-02 04:12:43
【问题描述】:

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

splitLine () {

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

   }

【问题讨论】:

  • 它可能应该接受string 作为参数。
  • 在另一个文件中它已经声明了一个字符串 aLine。可以用指针操作

标签: c++ function split word strtok


【解决方案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;

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

【讨论】:

  • 对不起,我的英语实际上不是很好。非常感谢你的帮助。它解释了很多,但我不太明白从 temp 中提取单词是什么意思
  • "The quick brown fox"变成"The" "quick" "brown" "fox"
猜你喜欢
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2019-03-25
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
相关资源
最近更新 更多