C 字符串相关的库函数
字符串操作函数
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 字符串相关的库函数的更多相关文章
- 【Todo】字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树
另开一文分析字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树. 先来一个汇总, 算法: 本文中提到的字符串匹配算法有:KMP, BM, Horspool, Sunday, BF, ...
- 常用linux 命令 -字符串相关
参考网络文章,个人工作总结 题记:一般对字符串的操作有以下几种:求长度,截取字符串,拼接字符串,找字符串中某个字符的索引 1 expr 命令 1.1 定义 man 手册 Print the value ...
- C语言字符串操作常用库函数
C语言字符串操作常用库函数 *********************************************************************************** 函数 ...
- python中跟字符串相关的一些操作
公司让用python自动生成代码,以前没看过python.所以匆匆的看了两天python就连猜带蒙就上马开干了..因此好多操作可能看的时候看懂了,用的时候知道有这么个东西,具体用法就忘记了..用到了就 ...
- ES6字符串相关扩展
变量的解构赋值 // 数组的解构赋值 let [a,b,c] = [1,2,3]; //1,2,3 let [a,b,c] = [,123,]; //undefined 123 undefined l ...
- Java数据结构和算法总结-字符串相关高频面试题算法
前言:周末闲来无事,看了看字符串相关算法的讲解视频,收货颇丰,跟着视频讲解简单做了一下笔记,方便以后翻阅复习同时也很乐意分享给大家.什么字符串在算法中有多重要之类的大路边上的客套话就不多说了,直接上笔 ...
- PHP基础系列(一) PHP字符串相关的函数分类整理
PHP提供了非常丰富的自带函数,有人说PHP是一个大的函数库,在某种程度上我是非常认同这种观点的,这个也是PHP非常容易上手的原因之一.在使用PHP编程的时候,需要实现某一功能的时候,如果说php自带 ...
- python字符串、字符串处理函数及字符串相关操作
python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...
- C关于字符串操作的库函数实现总结
常用C关于字符串操作的库函数实现: //获取字符串长度 int Strlen(const char* s) { assert(s != NULL); ; while (*s++ != '\0') { ...
随机推荐
- JavaSE基础之Java中的数据类型
基本数据类型:8个 整数类型(4):byte short int long 浮点类型(2):float double 字符类型:char 布尔类型:boolean 引用数据类型:3个 数组 类:cla ...
- [源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区
[源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区 目录 [源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区 0x00 摘要 0x01 前言 1.1 P ...
- Java如何搭建脚手架(自动生成通用代码),创建自定义的archetype(项目模板)
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- Java基础之SPI机制
SPI 机制,全称为 Service Provider Interface,是一种服务发现机制.它通过在 ClassPath 路径下的 META-INF/services 文件夹查找文件,自动加载文件 ...
- SpringBoot详解(一)——
https://www.cnblogs.com/lifullmoon/p/14957771.html https://www.cnblogs.com/lifullmoon/p/14957751.htm ...
- Java基础之类加载器
Java类加载器是用户程序和JVM虚拟机之间的桥梁,在Java程序中起了至关重要的作用,理解它有利于我们写出更优雅的程序.本文首先介绍了Java虚拟机加载程序的过程,简述了Java类加载器的加载方式( ...
- 20210712 noip12
考场 第一次和 hzoi 联考,成功给 sdfz 丢人 尝试戴耳罩,发现太紧了... 决定改变策略,先用1h看题,想完3题再写. T1 一下想到枚举最大值,单调栈求出每个点能作为最大值的区间,然后以这 ...
- Gitlab(1)- 简单介绍
什么是 Gitlab 一个开源分布式版本控制系统 开发语言:Ruby 功能:管理项目源代码.版本控制.代码复用与查找.权限管控 Git 家族成员 Git:是一种版本控制系统,是一个命令,是一种工具 G ...
- 我在组内的Nacos分享
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. Nacos简介 Nacos : Naming and Configuration Servic ...
- 本地jvisualvm通过jstatd远程监控GC
1.查找jdk路径 [root@xxx ~]# which java /data/soft/jdk1.8.0_221/bin/java 2.进入jdk的bin目录下添加指定安全策略文件,注意jdk路径 ...