问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

c语言如何查找字符串?

发布网友 发布时间:2022-04-24 14:00

我来回答

2个回答

热心网友 时间:2022-05-04 19:15

C语言中的标准函数库中的strchr()函数可以实现查找字符串中的某个字符。
C语言strchr()函数:
查找某字符在字符串中首次出现的位置
头文件:#include
<string.h>
strchr()
用来查找某字符在字符串中首次出现的位置,其原型为:
char
*
strchr
(const
char
*str,
int
c);
【参数】str
为要查找的字符串,c
为要查找的字符。
strchr()
将会找出
str
字符串中第一次出现的字符
c
的地址,然后将该地址返回。
注意:字符串
str
的结束标志
NUL
也会被纳入检索范围,所以
str
的组后一个字符也可以被定位。
【返回值】如果找到指定的字符则返回该字符所在地址,否则返回
NULL。
返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为
i,那么返回的地址可以理解为
str
+
i。
提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用
strrchr()
函数。

热心网友 时间:2022-05-04 20:33

#include <stdio.h>
#define SIZE
81
char *stringIn(char *str1, char *str2);
int main(void)
{
char string1[SIZE];
char string2[SIZE];
char *p;
printf
("输入一个字符串:\n");
gets(string1);
while (*string1
!= 'q')
{
printf("输入要查找的字符串:\n");
gets(string2);
p
=
stringIn(string1,
string2);
if (p)
{
printf("找到字符串:\n");
puts(p);
}
else
printf("未找到字符串。\n");
printf
("\n输入一个字符串:\n");
gets(string1);
} // endof
while
printf("程序结束\n");
return 0;
} // endof
main
char *stringIn(char *str1, char *str2)
{
char *p1
=
str1;
char *p2
=
str2;
if ('\0'==*str1
|| '\0'==*str2)
return NULL;
while (1)
{
if (*str1
==
*str2) // 如果str1的字符与str2字符相同
{
if ('\0' ==
*++str2) // 判断str2是否结束
return p1;
if ('\0' ==
*++str1) // 若str1结束,str2未结束,则返回空指针
return NULL;
} // endof
if
else
{
if ('\0' ==
*++str1)
return NULL;
p1
=
str1;
str2
=
p2;
} // endof
else
} // endof
while
} // endof
stringIn
输入一个字符,再输入一个以回车结束的字符串(少于80
个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始)。
C语言中如何查找字符串?

用strstr这个函数\r\n\r\n包含文件:string.h\r\n函数名: strstr \r\n函数原型:extern char *strstr(char *str1, char *str2);\r\n功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。\r\n返回值:返回该位置的指针,如找不到,返回空指针。\r\n\r\n...

c语言如何查找字符串?

C语言strchr()函数:查找某字符在字符串中首次出现的位置 头文件:#include &lt;string.h&gt; strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:char * strchr (const char *str, int c);【参数】str 为要查找的字符串,c 为要查找的字符。strchr() 将会找出 str 字符串中第一次出现的...

c语言查找字符串

1、首先,定义一个字符数组变量,可以这么写。2、然后输入字符的长度。3、接下来就可以直接赋值字符串。4、也可以定义多个字符串,可以写成这样。5、使用字符串时,建议加上该头文件。6、此外,还可以使用函数为其初始化。注意事项:尽管形式字符串可以有任意(但有限)的长度,实际语言的字符串的长度经...

用C语言编写一个程序查找一个字符串在另一个字符串中出现的次数怎么写...

实现代码如下:include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ char S[100],T[20]; char ch1,ch2; printf("请输入主字符串:\n"); ch1=getchar(); int i=0; while(ch1!='\n') { S[i]=ch1; i++; ch1=getchar(); } printf("请输入要...

C语言如何查找 某字符串 在所给的文本文件中的哪一行,并输出该行文字...

打开文件,如果文件未找到,报错,结束 fopen 输入待查的字符串,存到变量中 gets 逐行循环读取文件,直到文件结束 fgets 检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找 strstr 循环结束,输出未找到该字符串。关闭文件。fclose 相关代码和运行效果如下图:...

用c语言在一个字符串中查找另一个字符串,并统计个数

intmain(){ charS[100],T[20];charch1,ch2;printf("请输入主字符串:\n");ch1=getchar();inti=0;while(ch1!='\n'){ S[i]=ch1;i++;ch1=getchar();} printf("请输入要筛选的字符串:\n");ch2=getchar();intj=0;while(ch2!='\n...

C语言中怎么查找字符串数组中的某个字符?

错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:#include &lt;stdio.h&gt; include &lt;string.h&gt; int main(){ char sh[100],n=0;gets(sh);for(int i=0;sh[i];i++)if(sh[i]=='@')n++;if(n==0)printf("没有字符 @\n");else print...

C语言中在字符串中查找指定字符串

//str1移到下一位 if (j == 2) //如果比较了三次都相等则找到一个 { index[num] = i - 2; //记录str1下标 num ++; } } else { i = i - j; //有不相等的跳出,i回到比较前的值 break; } } printf("共找到:%d个\n",num); printf("下标分别是:"); for (i = 0; ...

C语言中怎么查找字符串数组中的某个字符?

程序有误,修改如下:include &lt;stdio.h&gt; include &lt;string.h&gt; void main(){ char sh[20];gets(sh);for(int i=0;i&lt;20;i++){ if(sh[i]='@'){ printf("判断出有字符@\n");break;} if(sh[i]='\0')printf("无字符@\n");} } ...

C语言查找字符串位置函数。请高手帮忙解决

int main(void) { char s1[80],s2[80];int n;printf("请输入一个字符串:");gets(s1);printf("请输入你要查找的字符串:");gets(s2);n=findstr(s1,s2);printf("%s在%s里共有%d个\n",s2,s1,n);return 0;} int findstr(char *s_str,char *d_str) { int i,j,k,count=0;c...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
堵漏王和速干水泥的区别 速干水泥用途 ...要建全局变量,数据实时变化,画面每隔一段时间刷新一次 VB中timer控件每隔一小时事件发生一次 代码 vb 用timer每隔1s读取系统的时间,计算每次读的时间和上一次时间的... VB 串口每隔0.1s读数据显示在text1.text中 比较收到的前后5s数据的大小... 怎样才能更好地玩转电报? 用户电报注册商标属于哪一类? 怎么通过二维码加好友呢? 注册TG是什么意思? 如何查找字符串中某字符的所有位置 vi编辑器下如何查找字符串 qq怎么查看字符的意思 为什么割过包皮以后一个月后小鸡鸡翻到底会很痛 为什么割了包皮都几年了阴茎还老是疼痛 阉割阴茎是勃起阉割还是不勃起阉割 做做小鸡鸡跟蛋蛋割开手术要多少钱 割包皮得花多少钱现在?疼不疼啊?? 小弟弟要每个月割一刀吗 在哪里可以割包皮?割包皮疼吗?有年龄限制没? 孩子割完包皮四天了小鸡鸡还肿,也疼 割小弟弟好不好? 我的阴茎又大又粗要用刀阉割能不能割断? 割包皮时会出血吗?痛吗?为什么? 患有包皮过长,去割包皮痛吗 20岁了,割包皮疼吗。可不可以不割 包皮割了疼几天 割包皮疼不疼的,父母叫的 割包皮会不会痛? 要多久才能痊愈 我19岁,割包皮疼么? C语言中怎么查找字符串数组中的某个字符? oppok3如何彻底清除手机数据? C语言中如何查找字符串? OPPO K3 批量导入/导出联系人的操作步骤? OPPOK39的支持格式 oppo k3怎么解压压缩包? OPPO K3 字体大小怎么调节? OPPO K3 字体大小如何调节? oppok3怎么读取sd卡文件? OPPO K3如何更换字体吗? OPPOk3手机下载的软件在右边第二行怎么回事 OPPO K3 怎么更换系统语言? oppok3手机拍照片如何调画质? 苹果卡贴是什么 苹果手机卡贴能用多久,要不要经常换? 红米手机充电时指示灯一闪一闪的怎么办? 我的手机开不了机 呼吸灯一直闪着是什么原因? 红米NOTE 手机充电的时候红灯一直再闪是怎么回事? 而且还开不机。 为什么我的红米手机充电的时候呼吸灯一直闪? 红米充电时为什么指示灯一直闪烁而且开不了机?
  • 焦点

最新推荐

猜你喜欢

热门推荐