字符串操作函数

size_t
strlen( char *string );

返回字符串长度

char*
strcpy( char *dst, char const *src );

将src复制到dst

char*
strcat( char *dst, char const *src );

将src接到dst后面

int
strcmp( char const *s1, char const *s2 );

s1 < s2, 返回正值
s1 > s2, 返回负值
s1 = s2, 返回零

char*
strncpy( char *dst, char const *src, size_t len ); char*
strncat( char *dst, char const *src, size_t len ); int
strncmp( char const *s1, char const *s2, size_t len );

限制长度的字符串操作函数

字符串查找函数

char*
strchr( char const *str, int ch ); char*
strrchr( char const *str, int ch );
  • strchr从头向尾找,找到了返回一个指向目标字符的指针,找不到返回NULL
  • strrchr从尾向头找,找到了返回指针,找不到返回NULL
char*
strpbrk( char const *str, char const *group );

strpbrk在str字符串中查找,找到gruop中任意一个字符则返回指针,找不到返回NULL

char*
strstr( char const *s1, char const *s2 );

strstr在s1中查找整个s2第一次出现的起始位置,并返回一个指向该位置的指针。

size_t
strspn( char const *str, char const *group ); size_t
strcspn( char const *str, char const *group );
  • strspn返回str中第一个不包含在group的下标
  • strcspn返回str中第一个包含在group的下标,都不存在返回'\0'的下标
char*
strtok( char *str, char const *sep );

找到第一个空白标记(如空格、回车、缩进),将其设置为\0(后面的内容仍然保留),然后返回一个指向这个标记的指针。

如果strtok函数的第一个参数是NULL,函数在同一个字符串中从这个被保存的位置开始查找下一个标记。

字符类型函数

#include <ctype.h>

isspace()	//空白字符
isdigit() //十进制数
isxdigit() //十六进制数, 字母不区分大小写
islower() //小写字母
isupper() //大写字母
isalpha() //字母
isalnum() //字母或数字
ispunct() //标点符号
int
tolower( int ch );

大写转小写

int
toupper( int ch );

小写转大写

内存操作

void*
memcpy( void *dst, void const *src, size_t len );
//可用于复制数组 void*
memmove( void *dst, void const *src, size_t len ); void*
memcmp( void const *a, void const *b, size_t len );
//按照无符号字符逐字节比较 void*
memchr( void const *a, int ch, size_t len ); void*
memset( void *a, int ch, size_t len );
//把a的前len个字节设置为字符值ch, 代替自己写一个循环

字符串转换为数值类型

字符串转换为整数

int
atoi( char const *string ); long int
atol( char const *string );

函数会忽略前导空白字符,当字符串中出现非数字的非法字符时,停止转换

字符串转换为浮点数

double
atof( char const *string );

字符的格式化转换

int
sscanf( char const *string, char const *format, ... );

按照format给出的格式转换string写入a

int
sprintf( char *buffer, char const *format, ... );

按照format给出的格式转换a写入string

C 字符串相关的库函数的更多相关文章

  1. 【Todo】字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树

    另开一文分析字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树. 先来一个汇总, 算法: 本文中提到的字符串匹配算法有:KMP, BM, Horspool, Sunday, BF, ...

  2. 常用linux 命令 -字符串相关

    参考网络文章,个人工作总结 题记:一般对字符串的操作有以下几种:求长度,截取字符串,拼接字符串,找字符串中某个字符的索引 1 expr 命令 1.1 定义 man 手册 Print the value ...

  3. C语言字符串操作常用库函数

    C语言字符串操作常用库函数 *********************************************************************************** 函数 ...

  4. python中跟字符串相关的一些操作

    公司让用python自动生成代码,以前没看过python.所以匆匆的看了两天python就连猜带蒙就上马开干了..因此好多操作可能看的时候看懂了,用的时候知道有这么个东西,具体用法就忘记了..用到了就 ...

  5. ES6字符串相关扩展

    变量的解构赋值 // 数组的解构赋值 let [a,b,c] = [1,2,3]; //1,2,3 let [a,b,c] = [,123,]; //undefined 123 undefined l ...

  6. Java数据结构和算法总结-字符串相关高频面试题算法

    前言:周末闲来无事,看了看字符串相关算法的讲解视频,收货颇丰,跟着视频讲解简单做了一下笔记,方便以后翻阅复习同时也很乐意分享给大家.什么字符串在算法中有多重要之类的大路边上的客套话就不多说了,直接上笔 ...

  7. PHP基础系列(一) PHP字符串相关的函数分类整理

    PHP提供了非常丰富的自带函数,有人说PHP是一个大的函数库,在某种程度上我是非常认同这种观点的,这个也是PHP非常容易上手的原因之一.在使用PHP编程的时候,需要实现某一功能的时候,如果说php自带 ...

  8. python字符串、字符串处理函数及字符串相关操作

    python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...

  9. C关于字符串操作的库函数实现总结

    常用C关于字符串操作的库函数实现: //获取字符串长度 int Strlen(const char* s) { assert(s != NULL); ; while (*s++ != '\0') { ...

随机推荐

  1. SpringBoot笔记(5)

    一.Web原生组件注入 1.使用Servlet API @ServletComponentScan(basePackages = "com.atguigu.admin") :指定原 ...

  2. Python之smtplib模块

    工作中难免会出现自动发送电子邮件的需求,比如说做完自动化测试之后通过电子邮件的形式将结果反馈出来.Python中提供了标准库smtplib来解决这一问题,该模块定义了一个smtp客户端会话对象,能够将 ...

  3. WebDriverAgent重签名爬坑记

    接上一篇博文,已经配置好了Xcode环境,那接下来要完成的就是重签名WebDriverAgent.在讲重签名之前,我们还是先来了解下WebDriverAgent,熟悉的朋友,可以直接跳过. WebDr ...

  4. windows操作系统和java常识

    一.java5和java8版本更新很大,现在都是java8; 二.数据存储最小单位Byte字节八个比特位: 三.没有图形操作界面的windows系统: 四.java语言跨平台性:JVM充当不同操作系统 ...

  5. python库--jieba(中文分词)

    import jieba 精确模式,试图将句子最精确地切开,适合文本分析:全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义:搜索引擎模式,在精确模式的基础上,对长词再次切 ...

  6. DataGridView高度自动调整

    AutoResizeGrid.cs代码 /// <summary> /// 根据行数据,自动调整DataGridView高度 /// </summary> public sea ...

  7. Vue开发多人聊天室 复盘总结

    前言 在上个月初,接到一个需求,要开发一个 聊天通讯 模块 并且 集成到 项目中的多个 入口,实现业务数据的记录追踪. 接到需求后,还挺开心,这是我第一次 搞 通讯 类的需求,之前一直是 B 端 的业 ...

  8. 【OI技巧】解决cin、cout因输入输出慢而TLE的问题

    语言本身没有问题!! 语言本身没有问题!! 语言本身没有问题!! C++本来的设计就是将输入输出流和C的标准输入输出挂钩在一起,这样就导致cin,cout输入输出前先要将内容放入缓冲区,最后再由cin ...

  9. Elasticsearch(ES)的滚动搜索与批量操作

    1. 概述 今天我们来聊一下Elasticsearch(ES)的滚动搜索与批量操作. 2. Elasticsearch(ES)的滚动搜索 2.1 概述  滚动搜索我们经常能够用到,例如:推荐列表,此类 ...

  10. 深入学习PHP中的JSON相关函数

    在我们当年刚刚上班的那个年代,还全是 XML 的天下,但现在 JSON 数据格式已经是各种应用传输的事实标准了.最近几年开始学习编程开发的同学可能都完全没有接触过使用 XML 来进行数据传输.当然,时 ...