This question already has answers here:
Closed 4 years ago.
Split string with delimiters in C
(19个答案)
我有一个字符串"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 == '\0')
    printf("converted successfuly: %d\n", value);

如果some random data包含斜线/,则unwind建议的strrchr是正确的选择,您可以像在我的示例中一样使用它。

关于c - 分割字符串并使用C获得最后一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28607448/

10-09 19:47