字符串相关函数整理

string.h 中字符串相关函数

按功能分类:

字符串连接:

strcat : char* strcat(char* destination, const char* source);

strncat : char* strcat(char* destination, const char* source, size_t num);

cat 意思是catenate。连接的意思。

strncp 是strcat的安全版本号。能够防止越界。

从定义上能够看出带是将const的字符串连接到不带const的字符串上。

字符/字符串查找:

strchr : char* strchr(const char* str, int character); char* strchr(char* str, int character);

查找字符character在str中第一次出现的位置。返回一个指针指向该字符到字符串结尾。

因为‘\0‘也是字符串的一部分,故该函数也能够查找结束符。

chr意思应该是character。

strrchr : char* strchr(const char* str, int character); char* strchr(char* str, int character);

最后一次出现的位置。

‘r‘应该是right的意思。也就是从右開始搜索。

strpbrk : const char* strpbrk(const char* str1,const char* str2); char* strpbrk(char* str1,const char* str2);

查找str2中随意字符在str1中第一次出现的位置,返回从整个位置到str1最后的字符串。

不包括结束符。

strcspn : size_t strcspn(const char* str1, const char* str2);

返回的是str1第一次出现str2中随意字符的位置。搜索包括null结束符,所以函数能够返回str1字符串的长度当没有不论什么匹配的时候。

strstr : const char* strstr(const char* str1, const char* str2); char* strstr(char* str1, const char* str2);

匹配完整字符串

字符串比較:

strcmp: int strcmp(const char* str1, const char* str2);

strncmp: int strcmp(const char* str1, const char* str2, size_t num);

strcoll: int strcoll(const char* str1, const char* str2);

依据LC_COLIATE比較str1和str2。

字符串拷贝:

strcpy : char* strcpy(char* destination, const char* source);

strncpy : char* strcpy(char* destination, const char* source, size_t num);

拷贝source到destination中去。遇到‘\0‘停止copy。

获取字符串长度:

strlen: size_t strlen(const char* str);

拆分字符串:

strtok: char* strtok(char* str, const char* delimiters);

tok的意思是token。该函数就是将str依据delimiter拆分。

时间: 2024-12-10 02:10:04

字符串相关函数整理的相关文章

黑马程序员---C基础9【字符串的输入输出】【字符串相关函数】【指针】【指针变量初始】【二级指针】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [字符串的输入输出] 1.字符串输出: %s-------从给定的地址开始输出字符直到遇到\0停止: printf("%s\n",&a[3]);  printf("%s\n",a); char a[]="hellowo\0rd!"; 2.字符串输入: 从键盘上接收一个字符串,保存在以a为首地址的字符数组中 scanf("%s&

ACM 字符串 题目整理

AC自动机 UVa 11468  Substring AC自动机+概率DP. 注意要补全不存在的边. 为什么要补全不存在的边呢?补全以后可以直接找到状态的转移,即从所有子节点就可以实现所有状态转移. #include<iostream> #include<vector> #include<cmath> #include<map> #include<algorithm> #include<cstring> #include<cst

基本字符串相关函数,基本宏,内存相关函数,类型转换函数实现合集

1.常用宏或函数的实现_T,_L宏:#define unsigned short L#define _T(x)       __T(x)#define _TEXT(x)    __T(x) #ifdef  _UNICODE#define __T(x) L##x     #else#define __T(x) x          #endif #define _L(x) L##x assert宏实现:#define assert(expr)do{    if (!(expr))    {    

3.mysql的中文问题,database级操作,表级操作,数据CRUD,分组操作,时间和日期,字符串相关函数,表的约束

 1 连接MYSQL服务器:mysql–uroot –p123456 查看中文问题 show variables like 'character%'; 2 修改mysql的字符集,退出mysql提示符界面: mysql -uroot -p--default_character_set=gbk; 3  数据库的操作:创建,查看,修改,删除 *创建: 创建一个名称为mydb1的数据库. createdatabase mydb1; 创建一个使用utf-8字符集的mydb2数据库. create d

python字符串相关函数 *title *upper *lower *swapcase *len *count *find *index *starts with *endswith *isalpha *isdecimal *split *center *strip *replace

# ### 字符串相关函数 (函数就是方法的意思,完成某个功能)""" 语法: 字符串.函数 """ #*capitalize 字符串首字母大写 strvar = "this is my world"res = strvar.capitalize()print(res) # *title 每个单词的首字母大写 (非字母类的就可以让后面字符大写)# strvar = "this is my world"str

3. 循环结构 ; 字符串相关函数 2019-10-29

- 代码块 以冒号作为开始,用缩进来划分相同的作用域,这个整体是一个代码块作用域:作用的区域 -流程控制 (1)流程控制的定义(2)流程控制的结构 -分支结构 关键字:if elif else(1)分支结构的种类(2)分支结构的特点 -循环结构 关键字:while / for..in..(1)循环结构的种类(2)循环结构的特点? -关键字的使用 pass / break / continue 字符串相关操作 (1)字符串的拼接(2)字符串的重复(3)字符串跨行拼接(4)字符串的索引(5)字符串的

冒泡算法,递归,正则表达式,模块,格式化字符串的整理

一.冒泡排序原理整理图 二.递归流程图剖析 三.正则表达式内容整理 1.re模块:python中re模块提供了正则表达式相关操作 2.元字符的整理 .  ^  $  *  +  ?  {}  []  |  \ 3.   .   匹配除换行符以外的任意字符(可以通过加参数re.S匹配上换行符) \w 匹配字母或数字或下划线或汉字 \s  匹配任意的空白符 \d  匹配数字 \b  匹配单词的开始或结束 ^   匹配字符串的开始 $  匹配字符串的结束 4.   * 重复零次或更多次(常用的) +

Char型和string型字符串比较整理

1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout<<"ch1="<<ch1<<endl; 输出结果:ch1=a cup string赋值: string str1 = "give me"; string str2 = "a cup"; ①str1 = str2;

Lua字符串库(整理)

Lua字符串库小集 1. 基础字符串函数:    字符串库中有一些函数非常简单,如:    1). string.len(s) 返回字符串s的长度:    2). string.rep(s,n) 返回字符串s重复n次的结果:    3). string.lower(s) 返回s的副本,其中所有的大写都被转换为了小写形式,其他字符不变:    4). string.upper(s) 和lower相反,将小写转换为大写:    5). string.sub(s,i,j) 提取字符串s的第i个到第j个