【发布时间】:2019-11-26 03:02:09
【问题描述】:
出于某种原因,无论我尝试strchr 还是strrchr,都会返回相同的值。我不知道为什么。
这是给我带来麻烦的代码段:
printf("Enter a data point (-1 to stop input):\n");
fgets(input, 50, stdin);
char *name = strrchr(input, ',');
if(name)
{
printf("%s", name);
}
输入是Jane Austen, 6,我试图将它分成两个字符串:一个在逗号之前,一个在逗号之后。但是,我使用strrchr(input, ','); 或strchr(input, ','); 似乎毫无意义,因为我的输出总是, 6。谁能解释一下原因?
【问题讨论】:
-
如果字符串中只有一个逗号,那么无论您要查找该字符的“第一个”还是“最后一个”,都会找到相同的逗号。
标签: c string pointers string.h c-str