我有一个字符串"some random data/1000"
。现在,我想单独使用数字(1000
)而不将第一部分存储在任何地方。我应该直接得到最后一部分,即数字。如何用C语言做到这一点?
此处'/'
是分隔符。
答案 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
是正确的选择,您可以完全按照我的示例使用它。