【问题标题】:Tokenizing a raw string in c在c中标记原始字符串
【发布时间】:2013-01-21 17:46:17
【问题描述】:

我想标记一个字符串,但以一种非常特殊的方式。

我有以下字符串,由 3 组单词组成,用空格分隔:

字符串 = abc def ghi

问题是我想将 string 变量的所有内容加载到另一个字符串中,直到第二个空格。也就是说,我想得到:

结果 = abc def

不仅是 abc(该解决方案在其他论坛中)。请注意,每个单词的长度可能不同。

我该怎么做?

【问题讨论】:

  • 一个罕见的字符串?我会在易趣上找到它。这样赚点钱。
  • 你看过cstring api吗?
  • @thang 或者至少在kol上卖。

标签: c parsing token space


【解决方案1】:

我想在一个字符串中加载字符串变量的所有内容 直到第二个空格

怎么样:

char *space = strchr(string, ' ');
if (!space)
    error;
space++;
space = strchr(space, ' ');
if (!space)
    error;

或者,如果您知道总会有 3 个单词,请执行单个 strrchr(反向)。或者也许做 2 sscanfs 然后加入字符串,或者 2 strtoks 等等。

【讨论】:

    猜你喜欢
    • 2011-01-23
    • 2010-09-20
    • 2011-05-31
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多