在c中标记原始字符串

时间:2013-01-21 17:46:17

标签: c parsing token space

我想用一种非常特殊的方式来标记字符串。

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

  

string = abc def ghi

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

  

result = abc def

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

我该怎么做?

1 个答案:

答案 0 :(得分:1)

  

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

怎么样:

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

或者如果你知道总会有3个单词,那就做一个strrchr(反向)。或者可以做2 sscanfs然后加入字符串,或2 strtok等。