C语言中如何查找字符串?
发布网友
发布时间:2022-03-02 08:48
我来回答
共4个回答
热心网友
时间:2022-03-02 10:17
用strstr这个函数
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:返回该位置的指针,如找不到,返回空指针。
源代码:
#include<stdio.h>
#include<string.h>//调用string.h中的strstr函数
void main(){
char ch1[255]="abcde";
char ch2[100]="cd";
char* ch;//用于接受返回值
if((ch=strstr(ch1,ch2))==NULL){//说明没有要找的字符串
printf("-1\n");
}else{//说明找到了那个字符串
printf("%d\n",ch-ch1+1);//cde的地址减去abcde的地址+1
}
}
热心网友
时间:2022-03-02 11:35
不用自己写,有一个函数叫strstr,原型是
char
*strstr(char
*str1,
char
*str2),功能是找出str2字符串在str1字符串中第一次出现的位置。
可以这样写:
char
*p=strstr(a,b);
if(NULL
!=
p)
{
//a中不存在b,添加相应代码
}
else
{
//a中存在b,添加相应代码
}
返回值p为a中第一次出现b的位置
这个函数要包含头文件string.h
热心网友
时间:2022-03-02 13:10
参考代码: #include int main(void){ char a[80]; char b[80]; char *p = a;//辅助变量p int count = 0;//用来记录子串出现的次数 printf("请输入主字符串:"); gets(a); printf("请输入要查找的子串:"); gets(b); while((p = strstr(p,b)) != NULL) { count ++; p++; } printf("子串出现的次数为%d次\n",count);return 0;}
热心网友
时间:2022-03-02 15:01
想了个效率比较低的:
1.fopen打开文件
2.fread每次读取一个字节和h(http的首字母)比较,成功了后再比较t,等等,如果都成功,说明http://匹配成功,然后将以后的字符读入到数组或文件中,同时用同样的方法检测.html字串。检测到.html字串就停止对数组或文件的写入。
如果有任何一个不匹配,重复步骤2(还得重新从比较h开始)
在怎么有效率也得遍历整个文件,我实在想不出什么别的更有效率的方法了。难道用哈希?散列?
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 <string.h> strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:char * strchr (const char *str, int c);【参数】str 为要查找的字符串,c 为要查找的字符。strchr() 将会找出 str 字符串中第一次出现的...
c语言查找字符串
1、首先,定义一个字符数组变量,可以这么写。2、然后输入字符的长度。3、接下来就可以直接赋值字符串。4、也可以定义多个字符串,可以写成这样。5、使用字符串时,建议加上该头文件。6、此外,还可以使用函数为其初始化。注意事项:尽管形式字符串可以有任意(但有限)的长度,实际语言的字符串的长度经...
C语言如何查找 某字符串 在所给的文本文件中的哪一行,并输出该行文字...
从文件中查找数据并输出,按以下步骤操作:打开文件,如果文件未找到,报错,结束 fopen 输入待查的字符串,存到变量中 gets 逐行循环读取文件,直到文件结束 fgets 检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找 strstr 循环结束,输出未找到该字符串。关闭文件。fc...
C语言中怎么查找字符串数组中的某个字符?
程序有误,修改如下:include <stdio.h> include <string.h> void main(){ char sh[20];gets(sh);for(int i=0;i<20;i++){ if(sh[i]='@'){ printf("判断出有字符@\n");break;} if(sh[i]='\0')printf("无字符@\n");} } ...
用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 <stdio.h> include <string.h> 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语言实现在一个字符串中查找指定的字符,并输出指定字符在字符串中出现...
import java.util.Arrays;import java.util.Scanner;public class JudeCount{ public static void main(String[]args){ System.out.println("请输入你要判断的字符串:");Scanner s=new Scanner(System.in);String str=s.nextLine();char[]ch=str.toCharArray();Arrays.sort(ch);//对数组排序 char...
用C语言编写一个程序查找一个字符串在另一个字符串中出现的次数怎么写...
实现代码如下:include <stdio.h>#include <stdlib.h>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语言中查找字符串sub是否是字符串str的子串。若是,则输出sub在str中...
查找字符串的代码可以这样写,请参考下面的图片 函数StringFind()返回子串首次出现的位置,注意是从0开始的,返回-1表示没有找到,希望对你有帮助。