详解C语言中index()函数和rindex()函数的用法
C语言index()函数:查找字符串并返回首次出现的位置
相关函数:rindex, srechr, strrchr
头文件:#include <string.h>
定义函数:
char * index(const char *s, int c);
函数说明:index()用来找出参数s 字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。
返回值:如果找到指定的字符则返回该字符所在地址,否则返回0.
范例
#include <string.h> main(){ char *s = "0123456789012345678901234567890"; char *p; p = index(s, '5'); printf("%s\n", p); }
执行结果:
5.68E+25
C语言rindex()函数:查找字符串并返回最后一次出现的位置
头文件:#include <string.h>
定义函数:
char * rindex(const char *s, int c);
函数说明:rindex()用来找出参数s 字符串中最后一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。
返回值:如果找到指定的字符则返回该字符所在的地址,否则返回0。
范例
#include <string.h> main(){ char *s = "0123456789012345678901234567890"; char *p; p = rindex(s, '5'); printf("%s\n", p); }
执行结果:
567890
相关推荐
-
浅析C语言中strtol()函数与strtoul()函数的用法
C语言strtol()函数:将字符串转换成long(长整型数) 头文件: #include <stdlib.h> strtol() 函数用来将字符串转换为长整型数(long),其原型为: long int strtol (const char* str, char** endptr, int base); [参数说明]str 为要转换的字符串,endstr 为第一个不能转换的字符的指针,base 为字符串 str 所采用的进制. [函数说明]strtol() 会将参数 str 字符串根据参数
-
C语言中strspn()函数和strcspn()函数的对比使用
C语言strspn()函数:计算字符串str中连续有几个字符都属于字符串accept 头文件:#include <string.h> strspn() 函数用来计算字符串 str 中连续有几个字符都属于字符串 accept,其原型为: size_t strspn(const char *str, const char * accept); [函数说明]strspn() 从参数 str 字符串的开头计算连续的字符,而这些字符都完全是 accept 所指字符串中的字符.简单的说,若 strspn(
-
C语言中查找字符在字符串中出现的位置的方法
C语言strchr()函数:查找某字符在字符串中首次出现的位置 头文件:#include <string.h> strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str, int c); [参数]str 为要查找的字符串,c 为要查找的字符. strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回. 注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个
-
详解C语言中sizeof如何在自定义函数中正常工作
1.在main函数中,sizeof是可以正常工作的,比如: int main() { int n[5]; printf("input: \n"); int i ; for(i = 0; i < 5; i++) { scanf("%d",n + i); } int len = sizeof(n)/sizeof(n[0]); printf("%d\n",len); return 0; } 2.但是在自定义函数中就不可以了,如下: #includ
-
详解C语言中for循环与while循环的用法
目录 一.单层for循环 二.for循环与if选择的嵌套 三.多层for循环的嵌套 四.while循环 五.总结 一.单层for循环 引例:C语言实现求1到10的和(用for循环实现) #include <stdio.h> int main() { int i, sum = 0; for (i = 1; i <= 10; i++) sum = sum + i; printf("sum = %d\n", sum); return 0; } 单层for循环执行的顺序: 第
-
详解C语言中index()函数和rindex()函数的用法
C语言index()函数:查找字符串并返回首次出现的位置 相关函数:rindex, srechr, strrchr 头文件:#include <string.h> 定义函数: char * index(const char *s, int c); 函数说明:index()用来找出参数s 字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回.字符串结束字符(NULL)也视为字符串一部分. 返回值:如果找到指定的字符则返回该字符所在地址,否则返回0. 范例 #include <str
-
举例详解Go语言中os库的常用函数用法
(f *File).Name()这个函数是返回文件的名称,函数原型func (f *File) Name() string要文件的指针操作,返回字符串,感觉比较鸡助的方法底层实现 复制代码 代码如下: func (f *File) Name() string { return f.name } import ( "fmt" "os" ) func main() { f, _ := os.Open("1.go") fmt.Println(
-
详解C语言中return返回函数局部变量的问题
目录 return返回栈区局部变量的指针 return返回栈区局部的临时变量 return只读数据段和static数据 在计算机中,释放空间并不需要将空间中的内容全部置成0或者1,而是只要设置这一块空间的数据无效即可.比如在下载文件时需要花很长时间,但是删除文件却只要几秒钟,这是因为操作系统只是把文件标识(文件头链接)删掉了,文件原文还保留着,我们没了文件标识就找不到这个文件了.所以删除后的文件,还可以用特殊的办法被找回来. 这也就意味着,当函数结束调用的时候,函数中的局部变量实际上还是在的,只
-
详解Golang语言中的interface
interface是一组method签名的组合,interface可以被任意对象实现,一个对象也可以实现多个interface.任意类型都实现了空interface(也就是包含0个method的interface),空interface可以存储任意类型的值.interface定义了一组方法,如果某个对象实现了某个接口的所有方法,则此对象就实现了此接口. go version go1.12 package main import ( "fmt" ) // 定义struct type Hu
-
详解go语言中sort如何排序
目录 sort包源码解读 前言 如何使用 基本数据类型切片的排序 自定义Less排序比较器 自定义数据结构的排序 分析下源码 不稳定排序 稳定排序 查找 Interface 总结 参考 sort 包源码解读 前言 我们的代码业务中很多地方需要我们自己进行排序操作,go 标准库中是提供了 sort 包是实现排序功能的,这里来看下生产级别的排序功能是如何实现的. go version go1.16.13 darwin/amd64 如何使用 先来看下 sort 提供的主要功能 对基本数据类型切片的排序
-
详解C语言中return与exit的区别
详解C语言中return与exit的区别 1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的.main函数结束时也会隐式地调用exit函数.exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流.关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件.exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,而return是返回函数值并退出函数 2,return是语言级别的,它
-
详解 Go 语言中 Map 类型和 Slice 类型的传递
Map 类型 先看例子 m1: func main() { m := make(map[int]int) mdMap(m) fmt.Println(m) } func mdMap(m map[int]int) { m[1] = 100 m[2] = 200 } 结果是 map[2:200 1:100] 我们再修改如下 m2: func main() { var m map[int]int mdMap(m) fmt.Println(m) } func mdMap(m map[int]int) {
-
详解go语言中type关键词的几种使用
type是go语法里的重要而且常用的关键字,type绝不只是对应于C/C++中的typedef.搞清楚type的使用,就容易理解go语言中的核心概念struct.interface.函数等的使用.以下我用例子代码总结描述,请特别留意代码中的注释. 1.定义结构体 //结构体定义 type person struct { name string //注意后面不能有逗号 age int } func main() { //结构体初始化 p := person{ name: "taozs",
随机推荐
- 简单理解vue中Props属性
- JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
- 如何控制弹出一个NTLM验证窗口?
- 在cmd中直接运行PowerShell脚本文件的方法
- javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
- Java中异常处理之try和catch代码块的使用
- ant使用指南详细入门教程
- javascript 制作坦克大战游戏初步 图片与代码
- asp.net实现非常实用的自定义页面基类(附源码)
- C#中常量和只读变量的区别小结
- PHP面向对象精要总结
- C#中的集合用法分析
- mysql允许远程连接的方法
- JS闭包可被利用的常见场景小结
- 剖析C++中的常量表达式与省略号的相关作用
- OnSharedPreferenceChangeListener详解及出现不触发解决办法
- 简单实现Java web服务器
- asp.net 无刷新分页实例代码
- 用PHP控制用户的浏览器--ob*函数的使用说明
- Android读取本地照片和视频相册实例代码