拆分字符串并使用C获取最后一部分

时间:2015-02-19 13:18:27

标签: c split

我有一个字符串"some random data/1000"。现在,我想单独使用数字(1000)而不将第一部分存储在任何地方。我应该直接得到最后一部分,即数字。如何用C语言做到这一点?

此处'/'是分隔符。

2 个答案:

答案 0 :(得分:2)

如果您确定只有一个分隔符,我只需使用strrchr() 1 来查找它。然后直接将数字转换为整数(使用例如strtol())或分配一个新字符串并复制第一个字符串的尾随部分。

1 请注意中间r,它向后搜索

答案 1 :(得分:0)

有很多方法可以做到,但在你的特定情况下

char  string[]      = "some random data/1000";
char *pointerTo1000 = strchr(string, '/');
if (pointerTo1000 != NULL)
{
    pointerTo1000 += 1;
    printf("%s\n", pointerTo1000);
}

如果要将其转换为数字

,则应输出1000
char *endptr;
int value = strtol(pointerTo1000, &endptr, 10);
if (*endptr == '\0')
    printf("converted successfuly: %d\n", value);

如果some random data包含斜杠/,则unwind建议的strrchr是正确的选择,您可以完全按照我的示例使用它。