为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C ++中对字符串进行标记?

如何在C ++中对字符串进行标记?

C++
明月笑刀无情 2019-05-25 17:15:54
如何在C ++中对字符串进行标记?Java有一个方便的拆分方法:String str = "The quick brown fox";String[] results = str.split(" ");有没有一种简单的方法在C ++中执行此操作?
查看完整描述

4 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

使用strtok。在我看来,没有必要建立一个围绕标记化的类,除非strtok没有为你提供你需要的东西。它可能没有,但是在用C和C ++编写各种解析代码的15年多来,我总是使用strtok。这是一个例子

char myString[] = "The quick brown fox";char *p = strtok(myString, " ");while (p) {
    printf ("Token: %s\n", p);
    p = strtok(NULL, " ");}

一些警告(可能不适合您的需要)。字符串在此过程中被“销毁”,这意味着EOS字符内嵌在分隔符中。正确使用可能需要您创建字符串的非const版本。您还可以在解析时更改分隔符列表。

在我看来,上面的代码比为它编写一个单独的类要简单得多,也更容易使用。对我来说,这是该语言提供的那些功能之一,并且它干净利落地完成了它。它只是一个“基于C”的解决方案。这很合适,很简单,而且你不必编写很多额外的代码:-)


查看完整回答
反对 回复 2019-05-25
  • 4 回答
  • 0 关注
  • 632 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信