高级字符串函数

查找一个字符串前缀

size_t strspn(char const *str,char const *group)

size_t strcspn(char const *str,char const *group)

strspn 返回str起始部分匹配group中任意字符的字符数

strcspn他对str字符串起始部分中部与group中任何字符匹配的字符进行技术

在字符串中查找指定字符串最后一次出现的位置

strrstr

#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<stdlib.h>

char *strrstr(const char*str1, char *str2)
{
	assert(str1);
	assert(str2);

	char *last = NULL;
	char *cur = strstr(str1, str2);

	while (cur != NULL)
	{
		last = cur;//last保存自字符串不为空的最后一个地址
		cur = strstr(cur+1, str2);
	}
	return last;//返回最后一次出现的位置
}
int main()
{
	char *p = "abcdefgabcdef";
	char *q = "cdef";
	char *ret = strrstr(p, q);

	printf("%s\n", ret);
	system("pause");
	return 0;
}

strtok它从字符串中隔离各个单独的称为标记(token)的部分,并舍弃分隔符

char *strtok(char *str,char const *sep)

sep的参数是字符串,定义了做分隔符的字符集合

若strtok的第一个参数不是NULL,函数将找到字符串的第一个标记,strtok同时保存它在字符串的位置

若strtok的第一个参数是NULL,函数就在同一个字符串中从这个被保存的位置开始像前面一样查找下一个标记

//strtok
#include<stdio.h>
#include<string.h>
int main()
{
	char *p = "193.168.0.1";
	char arr[20];
	strcpy(arr, p);
	char *token = NULL;
	/*char *token = strtok(arr, ".");
	printf("%s\n",token);
	while (token != NULL)
	{
		token = strtok(NULL, ".");
		if (token!=NULL)
		printf("%s\n", token);
	}*/
	for (token = strtok(arr, ".");
		token != NULL;
		token = strtok(NULL, "."))
	{
		printf("%s\n", token);
	}
	system("pause");
	return 0;}

//

strerror

char *strerror(int error_number)

//打开文件
//errno
#include<stdio.h>
#include<errno.h>
int main()
{
	FILE *pf = fopen("c:\\codetest.text", "r");
	if (pf == NULL)
	{
	printf("error:%s\n", strerror(errno));
		//打印相应错误信息
		//若正确 输出no error
		//若这个文件名不存在,则输出“error:No such file or dictory”等
		printf("open file error\n");
	}
	systme("pasue");
	return 0;
}
//错误描述信息
// char *strerror(int error_number);
//返回错误码所带的错误信息
//strerror(errno)    
//在头文件errno.h中定义了一个errno错误码 当发生错误,将错误码置成当前的错误码
//

内存操作

要操作的内容有“\0”时,字符串函数具有局限性

void *memcpy(void *dst,void const *src,zise_t length)

void *memmove(void *dst,void const *src,zise_t length)

void *memcmp(void *a,void const *b,zise_t length)

voif *memchr(void *a,int ch,zise_t length)

对某个空间初始化

memset

void memset(void *dest,int c,size_t count)

时间: 2024-10-17 23:15:16

高级字符串函数的相关文章

MySQL高级查询函数(单行函数)

函数的分类:1,单行函数:对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果.2,多行函数:对多条记录输入值进行计算,得到多条记录对应的单个结果. 单行函数: ①:字符串函数(用户处理单行的字符数据,比如大小写转换,字符串截取,拼装等) a.LOWER/UPPER(LOWER(str):返回字符串str变为小写字母的字符串.UPPER(str):返回字符串str变为大写字母的字符串) SELECT UPPER(nam

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

概述: 概述: 本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境. 一.函数和位置参数扩展 1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉     2.匿名函数的使用 第一篇:数组 一.数组的定义: 1.变量:存储单个元素的内存空间 2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 3.数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开

Oracle基本语法&amp;&amp;函数&amp;&amp;子查询&amp;&amp;分页查询&amp;&amp;排序&amp;&amp;集合操作&amp;&amp;高级分组函数

一.  数据库 手工---文件管理---数据库 DB:Database 数据库. DBMS:管理数据库的软件.(oracle) 主流关系数据库: 1.      Oracle 2.      DB2 3.      SQL Server 基本没人使 4.      MySQL  基本没人用,免费 Linux 开源,可以发现漏洞补上 Windows服务器会有补丁,数据易泄漏 eclipse 日食 数据表(Table): 表的行(Row):记录 表的列(Column):字段 二.  关系型数据库 一

UINCODE字符串和安全字符串函数

字符集基础知识 在计算机中,字符都是以二进制编码方式存在于存储中 编码与解码 将字符输入计算机存储的过程类似于一个"编码"的过程 而将对应的"编码"显示出来的过程类似于一个解码的过程 二进制值本身代表什么含义是可以随意定义的,在内存中用某个2进制的值代表某一个值, 比如说用8位2进制的代表单字节这些,16位,32位等等 用某个二进制值表示某个字符完全是人为设定的,最终字符集就是字符到其二进制数字值得映射 单字节字符集(SBCS)  Single Byte Chara

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

mysql学习笔记(五)--- 字符串函数、日期时间函数

一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符为单位) CHAR_LENGTH()

SQL字符串函数

LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWER() .UPPER () :转小写.大写LTRIM():字符串左侧的空格去掉 RTRIM () :字符串右侧的空格去掉 LTRIM(RTRIM('         bb        '))LEFT().RIGHT()  截取取字符串SELECT LEFT('abcdefg',2) SUBSTRI

前端学PHP之字符串函数

前面的话 字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的.信息的分类.解析.存储和显示,以及网络中的数据都需要操作字符串来完成.尤其在web开发中更为重要,程序员大部分工作都是在操作字符串,本文将详细介绍php中的字符串函数 [注意]关于javascript中字符串的属性和方法移步至此 特点 因为php是弱类型语言,所以其他类型的数据一般都可以直接应用于字符串操作函数中,而自己转换成字符串类型进行处理 echo substr( "1234567", 2, 4

Python学习入门教程,字符串函数扩充详解

因有用户反映,在基础文章对字符串函数的讲解太过少,故写一篇文章详细讲解一下常用字符串函数.本文章是对:程序员带你十天快速入门Python,玩转电脑软件开发(三)中字符串函数的详解与扩充. 如果您想学习并参与本教程的完善与写作.请在下方讨论区,回复相关问题.一起完善本文章教程的书写. Python字符串常用函数. 声明字符串变量: str = ‘关注做全栈攻城狮,写代码也要读书,爱全栈,更爱生活.’ 下面所有字符串函数函数,是对变量str进行操作: 求字符串长度: 函数使用: 运行结果: 值得注意