C语言strchr()函数(字符串中查找子字符)
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言strchr()函数(字符串中查找子字符)相关的知识,希望对你有一定的参考价值。
头文件:C 标准库 - <string.h>
描述
C 库函数 char *strchr(const char *str, int c)
在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。
声明
下面是 strchr() 函数的声明。
char *strchr(const char *str, int c)
参数
- str – 要被检索的 C 字符串。
- c – 在 str 中要搜索的字符。
返回值
该函数返回在字符串 str 中第一次出现字符 c 的位置,如果未找到该字符则返回 NULL。
实例
实例1
下面的实例演示了 strchr() 函数的用法。
#include <stdio.h>
#include <string.h>
int main ()
const char str[] = "http://www.runoob.com";
const char ch = '.';
char *ret;
ret = strchr(str, ch);
printf("|%c| 之后的字符串是 - |%s|\\n", ch, ret);
return(0);
|.| 之后的字符串是 - |.runoob.com|
实例2
以下代码将 st 指针指向的字符串在换行的地方加入文本结束字符,else 将多余的换行符消耗掉:
find = strchr(st, '\\n'); //查找换行符
if (find) //如果地址不是NULL
*find = '\\0'; //在此处放置一个空字符
else
while (getchar() != '\\n')
continue;
不知道实际怎么操作。。。具体应用场景?
#include <stdio.h>
#include <string.h>
int main()
char st[] = "sdf\\nssdf";
char* find;
find = strchr(st, '\\n'); //查找换行符
if (find) //如果地址不是NULL
*find = '\\0'; //在此处放置一个空字符
else
while (getchar() != '\\n')
continue;
return(0);
以上是关于C语言strchr()函数(字符串中查找子字符)的主要内容,如果未能解决你的问题,请参考以下文章