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++ 知识点---字符串函数的更多相关文章

  1. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  2. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  3. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  4. TSQL 字符串函数:截断和查找

    字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...

  5. c#编程基础之字符串函数

    c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...

  6. SQLSERVER常见系统函数之字符串函数(一)

    好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...

  7. python笔记-字符串函数总结

    字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...

  8. Sql Server函数全解<一>字符串函数

    阅读目录 1.ASCII()函数 2.CHAR()函数 3.LEFT()函数 4.RIGHT()函数 5.LTRIM()函数 6.RTRIM()函数 7.STR()函数 8.字符串逆序的函数REVER ...

  9. Sql Server系列:字符串函数

    字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char.nchar.varchar和nvarchar数据类型.字符串函数可以用在SELECT或者WHERE语句中. 1. A ...

随机推荐

  1. python webserver, based on SimpleHTTPServer

    #-*- coding:utf-8 -*- #author: lichmama #email: nextgodhand@163.com #filename: httpd.py import io im ...

  2. Unity3D-Shader-复古电影荧幕特效

    [旧博客转移 - 2015年12月6日 18:12]   今天用Shader做了一个复古荧幕效果,老电视机放映的感觉,写篇文章记录一下     原始图片:   没错,这就是电影<泰坦尼克号> ...

  3. 跳跳棋(9018_1563)(BZOJ_2144)

    题目: Hzwer的跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子. 某一天,黄金大神和cjy用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置.他们要 ...

  4. C# 百分比的获取

    这里介绍 C# 百分比转换有2种方式 例: double a=50; double b=100; a/b.ToString("0.00%"); 或 a/b.ToString(&qu ...

  5. requireJS 源码(三) data-main 的加载实现

    (一)入口 通过 data-main 去加载 JS 模块,是通过  req(cfg) 入口去进行处理的. 为了跟踪,你可以在此 加断点 进行调试跟踪. (二)  req({ })执行时,functio ...

  6. 计算 x y 的最近值

    计算xy的最近值. 代码如下: package Day05; import java.util.Arrays; public class FindNearestPoints { public stat ...

  7. 看懂 ,学会 .NET 事件的正确姿势

    一.事件的本质       举个例子你是个取向正常的青年男性,有个身材火辣,年轻貌美,腿长肤白的美女,冲你一笑,给你讲了一个ABCD羊吃草的故事.你有什么反应?可能你关注点在于颜值,身材,故事,故事含 ...

  8. Android--Intent组件带参传递与返回

    Android 是 单例模式: 表示 application 唯一的.每个应用被启动的时候,其实是 application 被创建. Context 上下文: context 是 Applicatio ...

  9. UWP中使用Composition API实现吸顶(1)

    前几天需要在UWP中实现吸顶,就在网上找了一些文章: 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一 在UWP中页面滑动导航栏置顶 发现前人的实现方式大多是控制ListViewBase的Heade ...

  10. MySQL慢查询日志分析

    一:查询slow log的状态,如示例代码所示,则slow log已经开启. mysql> show variables like '%slow%'; +-------------------- ...