精华内容
下载资源
问答
  • C语言strchr()函数:查找某字符在字符串中首次出现的位置头文件:#include strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:char * strchr (const char *str, int c);【参数】str 为要查找字符串,c ...

    C语言strchr()函数:查找某字符在字符串中首次出现的位置

    头文件:#include

    strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:

    char * strchr (const char *str, int c);

    【参数】str 为要查找的字符串,c 为要查找的字符。

    strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。

    注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。

    【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。

    返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。

    提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。

    【实例】查找字符5首次出现的位置。

    #include

    #include

    #include

    int main(){

    char *s = "0123456789012345678901234567890";

    char *p;

    p = strchr(s, '5');

    printf("%ld\n", s);

    printf("%ld\n", p);

    system("pause");

    return 0;

    }

    输出结果:

    12016464

    12016469

    C语言strrchr()函数:查找某字符在字符串中最后一次出现的位置

    头文件:#include

    strrchr() 函数用于查找某字符在字符串中最后一次出现的位置,其原型为:

    char * strrchr(const char *str, int c);

    【参数】str 为要查找的字符串,c 为要查找的字符。

    strrchr() 将会找出 str 字符串中最后一次出现的字符 c 的地址,然后将该地址返回。

    注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。

    【返回值】如果找到就返回该字符最后一次出现的位置,否则返回 NULL。

    返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。

    提示:如果希望查找某字符在字符串中第一次出现的位置,可以使用 strchr() 函数。

    实例:查找字符5最后一次出现的位置。

    #include

    #include

    #include

    int main(){

    char *s = "0123456789012345678901234567890";

    char *p;

    p = strrchr(s, '5');

    printf("%ld\n", s);

    printf("%ld\n", p);

    system("pause");

    return 0;

    }

    执行结果:

    12999504

    12999529

    展开全文
  • C语言查找字符串

    千次阅读 2017-09-21 00:17:55
    简述使用c语言实现字符串查找子串,返回第一个子串出现的位置。环境 ubuntu16.04 LTS GCC编译器 代码 #include #define N 100 int find_str(char* str1,char* str2) { int i,j,flag=-1; for(i=0,j=0;str1[i]!=...

    简述

    使用c语言实现字符串查找子串,返回第一个子串出现的位置。

    环境

    ubuntu16.04 LTS
    GCC编译器

    代码

    
    #include<stdio.h>
    #define N 100
    int find_str(char* str1,char* str2)
    {
        int i,j,flag=-1;
        for(i=0,j=0;str1[i]!=NULL;i++)
        {
            while(str1[i]==str2[j]&&str1[i]&&str2[j])
            {
                i++;
                j++;
                if(str2[j]==NULL)
                {
                    flag=i-j;
                    return flag;
                }
            }
            j=0;
        }
        return flag;
    }
    int main()
    {
        int flag;
        char str1[N],str2[N];
        printf("请输入源字符串:\n");
        scanf("%s",str1);
        printf("请输入查找字符串:\n");
        scanf("%s",str2);
        flag=find_str(str1,str2);
        if(flag!=-1)
        {
            printf("已找到!位置:%d\n",flag);
        }
        else
        {
            printf("未找到!\n");
        }
        return 0;
    }

    解析

    函数原型

    int find_str(char* str1,char* str2);

    • str1为char类型的指针,是被查找的字符串。
    • str2为char类型的指针,是需要查找的字符串。
    • 返回值int类型。

    首先判断str1的第一个元素是否与str2的第一个元素相同?

    如果相同,则str1与str2的下标同时增加,指向下一个元素,继续判断下一个元素是否相同,如果不同则跳出并且j恢复初值0,如若相同,继续下一个,直到某一个元素为空不存在,str1[i]先为空,说明已经查询到文件尾,但是未找到!如果str2[j]先为空,则说明已经完全匹配,j为str2长度,i为str1的查找子串尾下标,所以i-j的值为str1中子串首次出现的首位置。

    如果第一个元素不相同,则i++,str1的下一个元素与str2的首元素相比,以此类推。

    注意flag初值-1,表示未找到返回-1(若找到,下标从0开始)

    运行截图

    代码截图
    这里写图片描述

    运行截图
    这里写图片描述

    展开全文
  • C语言在字符串中查找字符串

    千次阅读 2019-10-28 20:55:36
    输出:该单词是否出现在这段话 代码 #include <stdio.h> #include <string.h> #define N 100 #define M 20 int isPresent(char *line, char *word); int main(void) { int n, k; char line[N], wor....

    输入和输出

    输入:一段话,一个单词
    输出:该单词是否出现在这段话中

    代码

    #include <stdio.h>
    #include <string.h>
    #define N 100
    #define M 20
    int isPresent(char *line, char *word);
    int main(void)
    {
    	int n, k;
    	char line[N], word[M];
    	printf("Enter a line of text:\n");
    	gets(line);
    	printf("Enter a string: ");
    	gets(word);
    	if (isPresent(line, word) == 1)
    		printf("\nThe string \"%s\" is present in the line.", word);
    	else printf("\nThe string \"%s\" is not present in the line.", word);
    	return 0;
    }
    int isPresent(char *line, char *word)
    {
    	int i, j, status, n, m;
    	n = strlen(line);
    	m = strlen(word);
    	for (i = 0; i <= n - m; i++)
    		if (strncmp(line+i, word, m)==0) return 1;
    	return 0;
    }
    
    

    测试

    在这里插入图片描述

    总结

    最开始的想法:
    在这里插入图片描述
    这个没有考虑到如果单词本身就不在这段话中的情况,本来想把这方面加进去,但是我失败了…
    因为一开始就没有想着用strcpy函数,如果带着这个函数的功能一起思考,会少走很多弯路。
    今天就这样,over。

    展开全文
  • 速度很快的哦,在windows 和 linux 下都经过测试了,可以放心使用,没有bug
  • 参考文章连接:1....strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str, int c);【...

    参考文章连接:

    1.http://c.biancheng.net/cpp/html/161.html

    2.http://c.biancheng.net/cpp/html/172.html

    1.头文件:#include <string.h>

    strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:
        char * strchr (const char *str, int c);
    【参数】str 为要查找的字符串,c 为要查找的字符。
    strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。
    注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。
    【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
    返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。
    提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。
    【实例】查找字符5首次出现的位置。
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <string.h>
    4. int main(){
    5.     char *s = "0123456789012345678901234567890";
    6.     char *p;
    7.     p = strchr(s, '5');
    8. printf("%ld\n", s);
    9.     printf("%ld\n", p);
    10. system("pause");
    11.     return 0;
    12. }
    输出结果:
    12016464

    12016469

    2.头文件:#include <string.h>

    strrchr() 函数用于查找某字符在字符串中最后一次出现的位置,其原型为:
        char * strrchr(const char *str, int c);

    【参数】str 为要查找的字符串,c 为要查找的字符。

    strrchr() 将会找出 str 字符串中最后一次出现的字符 c 的地址,然后将该地址返回。

    注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。

    【返回值】如果找到就返回该字符最后一次出现的位置,否则返回 NULL。

    返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。

    提示:如果希望查找某字符在字符串中第一次出现的位置,可以使用 strchr() 函数。

    实例:查找字符5最后一次出现的位置。
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <string.h>
    4. int main(){
    5.     char *s = "0123456789012345678901234567890";
    6.     char *p;
    7.     p = strrchr(s, '5');
    8.     printf("%ld\n", s);
    9.     printf("%ld\n", p);
    10.     system("pause");
    11.     return 0;
    12. }
    执行结果:
    12999504
    12999529


    展开全文
  • C语言 16行代码实现字符串中指定字符串替换

    万次阅读 多人点赞 2018-08-03 17:05:35
    支持: 1.等长字符串替换 2.长字符串替换为短字符串 3.短字符串替换为长字符串 4.中文替换 .../* 功 能:将str字符串中的oldstr字符串替换为newstr字符串 * 参 数:str:操作目标 oldstr:被替换者...
  • C语言字符串查找函数,字符串中查找子串
  • C语言查找字符串并返回索引

    千次阅读 2018-05-23 00:57:00
    C语言本身没有查找字符串并返回索引的函数,虽然说自己写一个查找函数也能获取索引,但是下面的方法更简便 C语言有一个strchr函数用于查找字符出现的第一个位置,关键就是这个函数,如果巧用,也可以获得找到的字符串的...
  • void str_str_replace(char s1[],char a[],char b[]) //字符串s1的a 替换成b { int s1_len=strlen(s1); //计算三者长度 int a_len=strlen(a); int b_len=strlen(b); //找出a[] int i=0; //i用来指定s1下标 ...
  • 这里为封装函数 ...int sumStr(char*s1, char* s2)//统字符串s2在字符串s1出现的次数 { int i = 0; char* p = s1; while ((p = strstr(p, s2)) != NULL) { i++; p += strlen(s2); } return i; }
  • C语言删除字符串中指定字符

    千次阅读 2020-05-05 10:00:43
    只需要进行一次对目标字符串的遍历即可完成删除目标字符的功能,具体的代码如下所示: void delchar( char *str, char c ) { int i,j; for(i=j=0;str[i]!='\0';i++) { if(str[i]!=c)//判断是否有和待删除字符...
  • 参考文章连接: 1.http://c.biancheng.net/cpp/html/161.html ... 1.头文件:#include <string.h> strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str,...
  • c语言字符串中的小写字母转换成大写字母描述给定一个字符串,将其中所有的小写字母转换成大写字母。输入输入一行,包含一个字符串(长度不超过100,可能包含空格)。输出输出转换后的字符串。样例输入helloworld123...
  • C语言中字符串比较

    千次阅读 多人点赞 2020-11-02 13:18:19
    在单片机串口实现字符串命令解析这篇文章分析了在串口通信如何去解析字符串命令,这篇文章就来讨论下字符串比较的方法都有哪些? 说起比较运算,肯定第一时间想到了C语言中关于比较的相关运算符 “>、<...
  • 主要介绍了C语言中查找字符字符串中出现的位置的方法,分别是strchr()函数和strrchr()函数的使用,需要的朋友可以参考下
  • C语言实现字符串查找和替换

    万次阅读 多人点赞 2016-06-02 15:19:42
    常用字处理软件或者编辑器都提供字符串查找和替换功能,本文描述如何借助C语言字符串处理函数来实现字符串查找和替换功能。  先说查找字符串查找主要使用strstr函数,其原型为:char * strstr(char * str...
  • #include <stdio.h> int find_char (char **strings,char value) { int num=0; char *string; while((string= *strings++)!=NULL) { while(*string!='\0') { ...
  • C语言字符串

    2017-07-23 14:47:42
    C语言字符串 字符串定义 字符串的输入输出 字符串函数 字符串杂项 字符串定义 字面量定义 字符串数组定义 字符串指针定义 字面量定义 字符串的字面量定义也就是常说的字符串常量定义,形如以下形式: “hello c ...
  • C语言中字符串的基本操作

    千次阅读 2019-06-01 15:46:49
    C语言中字符串的基本操作 用惯了c#和JavaScript...查找字符串 字符串长度 字符串大小写转换 字符串是否相等 复制字符串 #include <stdio.h> #include <string.h> int main() { char str...
  • [C语言]字符串处理 - 以指定字符串分割字符串(支持中文字符)  函数StringSplit(分割字符串到一个字符串数组,其中该数组第0位为分割后字符串的个数)  函数StringSplit_Struct(以定义一个新结构的方式来...
  • 处理字符串常用string.h里面的字符串函数 … 字符指针数组查找字符串: 1.遍历数组,比较字符串大小判断是否相等 int str_search1(const char*dststr, const char**srcstr, int num) //适用于全部字符串(字符数组和...
  • 注意:查找指定字符串时,大小写无关,而且有可能多次出现。 【输入形式】 先从标准输入分行输入两个英文字符串(每个字符串不为空,长度不超过20,且字符串中不会出现空格),分别表示被替换的字符串和替换成的...
  • C语言字符串查找函数

    千次阅读 2018-02-20 16:28:09
    C/C++ string库(string.h)提供了几个字符串查找函数,如下:memchr在指定内存里定位给定字符strchr在指定字符串里定位给定字符strcspn返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量...
  • C语言字符串中删除某个子串

    千次阅读 2020-11-20 19:16:21
    编写函数删除一个字符串中的一部分,函数原型如下: int del_substr(char *str, char const *substr) 函数首先判断substr是否出现在str,如果未出现,函数就返回0;如果出现,函数应该把str位于该子串后面...
  • C语言 查找字符串子 返回位置

    万次阅读 2017-04-12 19:12:43
    主要的思路就是,不断的从母 str1 取出和子串长度相等的临时子串 temp_str,与子串 str2 进行比较。没有找到子串,返回 -1;成功找到子串,返回子串首字母在母串中的位置,该位置从 0 开始。#include #include ...
  • 将str的oldstr替换成newstr,替换成的字符串存放于outstr int strrpc_weixindz15376_auth(char *str,char *outstr,char *oldstr,char *newstr){ char bstr[strlen(str)]; memset(bstr,0,sizeof(bstr)); int i...
  • c语言编程-字符串中查找字符位置

    千次阅读 2019-05-22 14:45:20
    思路:用两个字符数组,一个负责接收输入,一个负责筛选*号前的待查找字符串 #include<stdio.h> int main() {char a[100],b[100]; char c; int p=1,q=0; gets(a); for(int j=0;a[j]!='*';j++) {b[j]=a[j]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,804
精华内容 22,321
关键字:

c语言查找字符串中指定字符

c语言 订阅