string.h函数:

1.strlen 数出字符串存在多少字符;

2.strcmp 比较两个字符串,若相等返回0不相等返回1

3.strcpy(char *restrict dst,const char *restrict src);

//以上为strcpy函数的原型声明

作用:将dst字符串用src字符串覆盖,并且返回dst

restrict:表明dst不可与src不重叠

操作如下:

char dst=(char)malloc(strlen(src)*sizeof(char)+1);

strcpy(dst,src);

{(补充:malloc-->需要调用#include<strlib.h>,并且需要用指针变量来储存malloc返回的值)

malloc是向计算机要一块空间,返回的类型为void

举例:如果需要一个N个int的空间,我们需要使用malloc动态内存分配

操作如下:

include<stdio.h>

include<stdlib.h>

int main(void){

int N,p;

scanf("%d",&N);

p=(int
)malloc(N*sizeof(int));-->是向计算机要了一块N个int

的空间

free(p);-->释放空间内存

}

}

4.strcat(char*restrict s1,const char *restrict s2);

//以上是strcat函数的原型声明

作用:将s2拷贝到s1的后面,接成一个长字符串 然后返回s1(s1必须有足够的空间)

5.strchr(const chars,int c); //返回一个指针

strrchr(const char
s,int c);

//以上为函数的原型声明

作用:strchr是从左边开始查找第一个为c的字符

strrchr是从右边开始查找第一个为c的字符

返回NULL表示没有找到

//使用小技巧:

(1).寻找第二个重复的字符:

char s[]="hello";

char *p=strchr(s,'l');//此时输出p会得到llo。

p=strchr(p+1,'l'); //此时p指向了llo让他+1指向lo,再从lo里找到l。

(2).将字符串的一部分提出来,放在另外一处去

char s[]="hello";

char *p=strchr(s,'l');

char t=(char)malloc(strlen(p)+1);

strcpy(t,p);

printf("%s",t);

free(t);

//上面操作是将字符串s的“llo”提取出来放在了指针t的位置;

(3).得到一串字符串的前几个字符

char s[]="hello";

char p=strchr(s,'l');

char c=
p;//此时*p指向了数组s的第一个l的位置

*p='\0';//让第一个l的位置变成了\0 则s数组就变成了he\0lo\0;

char t=(char)malloc(strlen(s)+1);

strcpy(t,s);//用新的指针来储存改变后的字符串s

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

p=c;//还原p所指向的数组s的位置;

free(t);

6.char *strstr(const char *s1,const char *s2)

char *strcasestr(const char *s1,const char *s2)

//以上为函数的原型声明

作用为:第一个为在字符串中寻找字符串,第二个是在字符串中寻找字符串的过程中忽略大小写。

补充:对于strcpy和strcat有更安全的版本

char *strncpy(char *restrict dst,const char *restrict src,size_t n); n-->表示可以替换的最大字符数量

char *strncat(char *restrict s1,const char *restrict s2,size_t n); n-->表示可以后缀的最大字符数量

其次对于 int strncmp(const chars1,const chars2,size_t n);

n-->表示依次判断字符串s1前n个字符是否为a,b,c...,n

小白:String函数总结的更多相关文章

  1. Python 常用string函数

    Python 常用string函数 字符串中字符大小写的变换 1. str.lower()   //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...

  2. string函数分析

    string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ...

  3. PHP String 函数

    [http://www.w3school.com.cn/php/php_ref_string.asp ] PHP String 简介 String 字符串函数允许您对字符串进行操作. 安装 Strin ...

  4. lua string函数

    lua的string函数: 参数中的index从1开始,负数的意义是从后开始往前数,比如-1代表最后一个字母 对于string类型的值,可以使用OO的方式处理,如string.byte(s.i)可以被 ...

  5. PHP 5 String 函数

    PHP 5 String 函数 PHP String 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. 函数 描述 addcslashes() 返回在指定的字符前添加反斜杠的字符串. add ...

  6. c++string函数详解

    string,一个极为好用了函数,学好了这些函数,在模拟以及字符串问题上,回节省很多很多的写代码时间,代码复杂度以及错误率,那么这一类函数都有那些功能呢?我们来逐一介绍(让你大吃一惊,还有这种操作?) ...

  7. 常用string函数分析

    string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ...

  8. c++:string函数

    string类的构造函数:string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化此外,string类还支持 ...

  9. C string 函数大全

    PS:本文包含了大部分strings函数的说明,并附带举例说明.本来想自己整理一下的,发现已经有前辈整理过了,就转了过来.修改了原文一些源码的问题,主要是用char *字义字符串的问题,导致程序运行时 ...

随机推荐

  1. java经典算法40题-附带解决代码

    前一段时间工作比较闲,每天没有代码敲的日子有点无聊,于是为了保证自己的编程逻辑力的日常清醒,故百度了一些经典的java算法,然后自己思考编程解决问题,虽然那些东西比较基础了,但是有些题目小编看到了也是 ...

  2. 超详细的 Vagrant 上手指南

    搭建 Linux 虚拟机,别再用 VirtualBox 从 .iso 文件安装了. 概述 2020 年了,也许你已经习惯了 docker,习惯了在 XX 云上快速创建云主机,但是如果你想在个人电脑上安 ...

  3. 微服务实战系列(十)-网关高可用之中间件Keepalived

    1.场景描述 因为要做网关的高可用,用到了keepalived+nginx,来保证nginx的高可用,如下图: 安装了keepavlived,走了一些弯路,记录下吧,nginx的安装就不多说了,博客已 ...

  4. vant实现下拉多选组件

    1.最近需要做一个移动端多选的功能,发现vant上没有多选的下拉组件,于是决定写一个,样式如下 调用部分传入值 propsselect-data-opts 传入list数据, disabled 下拉是 ...

  5. Python练习题 021:递归方法求阶乘

    [Python练习题 021] 利用递归方法求5!. ---------------------------------------------- 首先得弄清楚:5! 指的是"5的阶乘&qu ...

  6. 给select赋值的一种方法

    做毕设遇到的问题,在update数据的时候,要先把原来的数据传递给前台,赋值给input等标签,但是啊,select标签没有value属性啊,所以在这里研究了一下,总结一个给select赋值的方法吧 ...

  7. 【Python】使用Python解释器

    使用Python解释器 调用解释器 python -c command [arg] - 其中 command 要换成想执行的指令,就像命令行的 -c 选项. Python 模块也可以作为脚本使用 py ...

  8. 【题解】[USACO13FEB]Tractor S

    题目戳我 \(\text{Solution:}\) 好久没写啥\(dfs\)了,借这个题整理下细节. 观察到答案具有二分性,所以先求出其差的最大最小值,\(\log val\)的复杂度不成问题. 考虑 ...

  9. 在shell中截取心仪的字符串

    file=/dir1/dir2/dir3/my.file.txt ${file#*/} 去掉左边 ${file##*/} 去掉左边最后一个 ${file%/*} 去掉右边 ${file%%/*} 去掉 ...

  10. rabbitmq--通配符模式Topics

    topic模式也称为主题模式,其实他相对于routing模式最大的好处就是他多了一种匹配模式的路由,怎么理解匹配呢,其实就相当于我们之前正则的.*这种,不过他的匹配机制可能不是这种(其实除了匹配规则外 ...