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

split a string and get the last part using C

我有一个字符串 "some random data/1000"。现在,我只想要数字(1000)而不将第一部分存储在任何地方。我应该直接得到最后一部分,即数字。 C语言怎么实现?

这里'/'是分隔符。

有很多方法可以做到这一点,但在您的特定情况下

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 == '[=11=]')
    printf("converted successfuly: %d\n", value);

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

如果您确定只有一个分隔符,我会简单地使用 strrchr()1 来找到它。然后要么直接将数字转换为整数(使用例如 strtol()),要么分配一个新字符串并将第一个字符串的尾部复制到那里。

1 请注意中间r,是向后.

搜索