c语言子串查找,c语言查找子串位置

dfnjsfkhak 2 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言子串查找问题,于是小编就整理了3个相关介绍c语言子串查找的解答,让我们一起看看吧。

  1. C语言实现如何在字符串中找到给定的字符子串的位置?
  2. c++子串输入方法?
  3. 如何用python写一个文件搜索器?

C语言实现如何在字符串中找到给定的字符子串的位置

用strstr这个函数包含文件:string.h函数名: strstr 函数原型:extern char *strstr(char *str1, char *str2)

;功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。

c语言子串查找,c语言查找子串位置-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

值:返回该位置的指针,如找不到,返回空指针。源代码:#include<stdio.h>#include<string.h>//调用string.h中的strstr函数void main(){ char ch1[255]=&#34;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 } }

c++子串输入方法

C++中,可以使用字符串类型变量表示一个字符串,常用的有char和string两种类型。对于输入一个字符串的子串,可以使用string类型的substr()函数,该函数需要传入两个参数:开始位置和子串长度。例如,对于字符串s,可以输入从第i个位置开始长度为len的子串,代码如下
string s;
int i, len;
cin >> s >> i >> len;
string sub = s.substr(i, len);
其中,s是输入的字符串,i是子串的开始位置,len是子串的长度,sub是得到的子串。

c语言子串查找,c语言查找子串位置-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

#include<iostream>

#include<string>

using namespace std;

c语言子串查找,c语言查找子串位置-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

int main()

{

string str, sub;

while( cin >> sub >> str )

{

int i = 0;

如何用python写一个文件搜索器?

这里以精确查找、模糊查找和特定查找3种查找为例,简单介绍一下python是如何查找文件的,主要用到python自带的模块os(walk函数),感兴趣的朋友可以自己尝试一下,实验环境win10+python3.6+pycharm2018,主要内容如下:

这个是最简单的,直接使用os.walk函数遍历目标目录如果查找到的文件名与输入的文件名相同,则返回文件完整路径测试代码如下,os.walk函数会返回一个三元组,分别为查找的目标目录、查找的目标目录子目录(list列表)和查找的目标目录文件(list列表),这里使用os.path.join函数拼接为文件完整路径,输入参数分别为查找的目标目录和目标文件:

这里只需要对上面的代码稍微修改一下就行,如果在文件名中查找到输入的子串(模糊匹配到文件名中存在这个字符串),则返回文件完整路径,测试代码如下,非常简单:

这里主要是查找特定类型的文件,基本代码和前面2个的查找是一样的,只需要在文件名中匹配特定后缀就行,如果是,则返回文件完整路径,测试代码如下,主要用到string字符串自带的endswith函数:

最后就是在main函数中调用上面的3个查找函数,测试代码如下,一个while循环,1为精确查找,2为模糊查找,3为特定查找,最后将查找的结果以蓝色打印出来,这里的查找目录可以人为指定,也可以设置为input输入获取:

程序运行截图如下,已经成功查找到对应文件:

到此,以上就是小编对于c语言子串查找的问题就介绍到这了,希望介绍关于c语言子串查找的3点解答对大家有用

标签: 查找 字符串 函数