gpt4 book ai didi

c - 如何检查 C 字符串中是否存在单个字符?

转载 作者:太空狗 更新时间:2023-10-29 16:59:13 31 4
gpt4 key购买 nike

我想检查 C 字符串中是否有单个字符。字符是 '|'用于 Linux 中的管道(实际上,我还想检查 '<''>''>>''&' )。

在 Java 中我可以这样做:

String.indexOf()

但是我如何在 C 中执行此操作而不循环遍历整个字符串(char* 字符串)?

最佳答案

如果您需要搜索一个字符,您可以使用 strchr 函数,如下所示:

char* pPosition = strchr(pText, '|');
如果没有找到给定的字符,

pPosition 将为 NULL。例如:

puts(strchr("field1|field2", '|'));

将输出:“|field2”。请注意,strchr 将执行正向 搜索,要向后 搜索,您可以使用strrchr。现在想象一下(只是为了提供一个例子)你有一个像这样的字符串:“variable:value|condition”。您可以提取 value 字段:

char* pValue = strrchr(strchr(pExpression, '|'), ':') + 1;

如果您想要的是字符串中字符的索引,请查看this post。在这里。您可能还需要像 IndexOfAny() 这样的东西,here SO 上的另一篇文章为此使用了 strnspn

相反,如果您要查找字符串,则可以使用 strstr 函数,如下所示:

char* pPosition = strstr(pText, "text to find");

关于c - 如何检查 C 字符串中是否存在单个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10651999/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com