C/C++ 知识点---字符串函数
1.strcpy字符串拷贝
2.strcmp字符串比较
3.strstr字符串查找
4.strDelChar字符串删除字符
5.strrev字符串反序
6.memmove拷贝内存块
7.strlen字符串长度
---------------------------------------
1.strcpy字符串拷贝
拷贝pStrSource到pStrDest,并返回pStrDest地址(源和目标位置重叠情况除外)
char *strcpy(char *pStrDest, const char *pStrSource)
{
assert(NULL!=pStrDest && NULL!=pStrSource);
char *strTemp=pStrDest;
while ((*pStrDest++ = *pStrSource++) != '\0'); return strTemp;
}
2.strcmp字符串比较
int strcmp(const char *pStrA, const char *pStrB)
{
assert(NULL!=pStrA && NULL!=pStrB);
while (*pStrA && *pStrB && *pStrA==*pStrB)
{
++pStrA;
++pStrB;
} return (pStrA-*pStrB);
}
3.strstr字符串查找
char *strstr(const char *pStrSource, const char *pStrSearch)
{
assert(pStrSource != NULL && pStrSearch != NULL);
const char *strTempSource = pStrSource;
const char *strTempSearch = pStrSearch;
for (; *pStrSource!='\0'; ++pStrSource)
{
for (strTempSource=pStrSource,strTempSearch=pStrSearch;
*strTempSearch!='\0' && *strTempSearch==*strTempSource;
++strTempSource, ++strTempSearch); if (*strTempSearch == '\0')
{
return (char *)pStrSource;
}
} return (char *)NULL;
}
4.strDelChar字符串删除字符
char *strDelChar(char *pStrSource, const char chDel)
{
assert(NULL!=pStrSource && !isspace(chDel));
char *pTempStrA, *pTempStrB;
pTempStrA = pTempStrB = pStrSource; while (*pTempStrB++)
{
if (*pTempStrB != chDel)
{
*pTempStrA++ = *pTempStrB;
}
}
*pTempStrA = '\0'; return pStrSource;
}
5.strrev字符串反序
char *strrev(char *pStrSource)
{
assert (NULL != pStrSource); char *pStrStart, *pStrEnd;
pStrStart = pStrEnd = pStrSource;
while (*pStrEnd != '\0')
{
++pStrEnd;
} char chTemp;
for (--pStrEnd, pStrStart; pStrEnd<pStrStart; ++pStrStart, --pStrEnd)
{
chTemp = *pStrStart;
*pStrStart = *pStrEnd;
*pStrEnd = chTemp;
} return pStrSource;
}
6.memmove拷贝内存块
void *memmove(void *pStrTo, const void *pStrFrom, size_t count)
{
assert (NULL!=pStrTo && NULL!=pStrFrom); void *pStrRet = pStrTo; if (pStrTo<pStrFrom || pStrTo>pStrFrom+count-)
{
//内存块不重叠情况
while (count--)
{
*pStrTo++ = *pStrFrom++;
}
}
else
{
//内存块重叠情况
char *pStrDest = (char *)pStrTo;
char *pStrSource = (char *)pStrFrom;
pStrDest = pStrDest+count-;
pStrSource = pStrSource+count-;
while (count--)
{
*pStrDest-- = *pStrSource--;
}
} return pStrRet;
}
7.strlen字符串长度
int strlen(const char *pStrSource)
{
assert(NULL != pStrSource);
int iLen = ;
while (*pStrSource++ != '\0')
{
++iLen;
} return iLen;
}
C/C++ 知识点---字符串函数的更多相关文章
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- SQL字符串函数
LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- TSQL 字符串函数:截断和查找
字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...
- c#编程基础之字符串函数
c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...
- SQLSERVER常见系统函数之字符串函数(一)
好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...
- python笔记-字符串函数总结
字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...
- Sql Server函数全解<一>字符串函数
阅读目录 1.ASCII()函数 2.CHAR()函数 3.LEFT()函数 4.RIGHT()函数 5.LTRIM()函数 6.RTRIM()函数 7.STR()函数 8.字符串逆序的函数REVER ...
- Sql Server系列:字符串函数
字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char.nchar.varchar和nvarchar数据类型.字符串函数可以用在SELECT或者WHERE语句中. 1. A ...
随机推荐
- 第一章:pip 安装 和 卸载 django
1. 在dos命令行中输入 pip 如下命令进行安装: 安装最新的版本的 Django 命令如下: pip install django 安装 指定版本的 Django 命令如下: pip insta ...
- git常用基本命令
一定要以管理员的身份打开,否则有些命令不能用,比如ssh -T git@github.com(查看配置ssh是否成功)@初始化git git config --global user.name ruo ...
- HTML5头部标签中<meta>常用信息
整理一些平时常用的,方便查阅 <!-- 字体编码 --> <meta charset="utf-8" /> <!-- 关键字 --> <m ...
- 【转载】CANoe 入门 Step by step系列(三)简单例子的剖析
来源:http://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704623.html 最好的学习方式是什么?模仿.有人会问,那不是山寨么?但 ...
- Java调度实现
根据自己在项目中用到的调度,简单说说:(如有不正确的地方,请留言...) Java调度:他是用来解决访问时间慢的手段. 通俗的讲就是为需要的数据(你需要展示的数据)建立一张中间表存放,提前把数据读出来 ...
- The request sent by the client was syntactically incorrect问题解决
The request sent by the client was syntactically incorrect意思嘛,google翻译一下 通过日志不难看出,是由参数不匹配造成的. 所以对于Da ...
- 【.net 深呼吸】在运行阶段修改应用配置文件
上一篇博文中,老周所介绍的自行编写的配置类,虽然能够很好地做封装,但它仅允许修改用户级别的配置,所以文件都是保存到用户配置目录下的.可是,许多情况下,我们还是不考虑用户隔离,而是能够直接修改与应用程序 ...
- FFmpeg任意文件读取漏洞分析
这次的漏洞实际上与之前曝出的一个 CVE 非常之类似,可以说是旧瓶装新酒,老树开新花. 之前漏洞的一篇分析文章: SSRF 和本地文件泄露(CVE-2016-1897/8)http://static. ...
- 11.2.0.4 RAC 手动打补丁
1. 下载补丁和最新OPatchGI PSU : p25869727_112040_Linux-x86-64.zipOPatch : p6880880_112000_Linux-x86-64.zip ...
- Android异步处理技术
前言: 在移动端开发中,我们必须正确处理好主线程和子线程之间的关系,耗时操作必须在子线程中完成,避免阻塞主线程,导致ANR.异步处理技术是提高引用性能,解决主线程和子线程之间通信问题的关键. 通常在如 ...