C语言查找字符串并返回索引

C语言本身没有查找字符串并返回索引的函数,虽然说自己写一个查找函数也能获取索引,但是下面的方法更简便

C语言有一个strchr函数用于查找字符出现的第一个位置,关键就是这个函数,如果巧用,也可以获得找到的字符串的索引

1     char *str_1 = "wtwq211";
2     char *str_2 = strchr(str_1, ‘q‘);
3     printf("%s\n", str_2);
4
5     int index=str_2 - str_1;
6     printf("%c\n", str_1[index]);        

原文地址:https://www.cnblogs.com/huangtiandi/p/9074981.html

时间: 2024-10-10 12:32:06

C语言查找字符串并返回索引的相关文章

截取开始字符串 结束字符串的中间字符串并返回

/// <summary> /// 指定开始字符串和结束字符串,截取中间的字符 /// </summary> /// <param name="str">要截取的字符串</param> /// <param name="s">开始字符串</param> /// <param name="e">结束字符串</param> /// <returns&

python解析json字符串并返回对象

import json from argparse import Namespace obj = json.loads(jsonData,object_hook=lambda d: Namespace(**d)) jsonData变量是json字符串 原文地址:https://www.cnblogs.com/codeDevotee/p/12205809.html

【C语言】自己编写程序实现strchr函数。即在给定字符串中找特定的字符并返回该处指针。

<pre name="code" class="cpp">//自己编写程序实现strchr函数.即在给定字符串中找特定的字符并返回该处指针. #include <stdio.h> char * my_strchr(char const *str,int ch) { while(*str!='\0') { if(*str!=ch) str++; else return str; } printf("未找到该字符\n"); r

【C语言】自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置

//自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置 #include <stdio.h> #include <string.h> char * my_strrchr(char const *str,int ch) { int count=0; while(*str!='\0') { count++; str++; } str--; while(count) { if(*str!=ch) { str--; count--; } else retu

识别Json字符串并分隔成Map集合

识别Json字符串并分隔成Map集合 前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些小问题: 1:C#的ref:这个参数的主要意图是: 就算方法内部重新对参数重新(new)赋值,也能保证外部的参数指向新的值. Java木有了,不知道新的方案是什么?还是说只能避免方法内部重新(new)赋值? 2:C#的out:这个参数的主要意图是: 处理多值返回

【lua】如何倒序查找字符

现在有这样一个需求,有一个字符串,需要查找字符i最后出现的位置,不过相对于其他语言来说,Lua并没有提供这一操作,那么如何是好? 现在有这样几个方法: string.sub(str, i ,j) 功能:截取str以i开始j结束的部分 string.reverse(str) 功能:将str倒序输出 string.len(str) 功能:返回str的长度 string.find(str, pattern, init, plain) 功能:查找到指定字符在str的起始位置.其中str为源字符串,pat

将数字n转换为字符串并保存到s中

参考 C程序设计语言 #include <stdio.h> #include <string.h> //reverse函数: 倒置字符串s中各字符的位置 void reverse(char s[]){ int c,i,j; for(i=0,j=strlen(s)-1;i<j;i++,j--){ c=s[i], s[i]=s[j], s[j]=c; } } //itoa函数: 将数字n转换为字符串并保存到s中 void itoa(int n, char s[]){ int i,

Java版本:识别Json字符串并分隔成Map集合

前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些小问题: 1:C#的ref:这个参数的主要意图是: 就算方法内部重新对参数重新(new)赋值,也能保证外部的参数指向新的值. Java木有了,不知道新的方案是什么?还是说只能避免方法内部重新(new)赋值? 2:C#的out:这个参数的主要意图是: 处理多值返回的问题. Java木有了,只能改返回数

C语言中字符数组和字符串指针分析

这几天搞Unix上的C程序,里面用到了很多字符数组和字符串指针,我记得在学完C语言后相当一段时间里,对指针这个东西还是模模糊糊,后来工作也没怎么 用到过C,虽然网上这类的文章也有很多,还是决定自己在这做个小总结,也算加深下自己的印象,写了下面的测试程序: #include <stdio.h> int main(int argc, char *argv[]){ char day[15] = "abcdefghijklmn";  char* strTmp = "opq