C库函数使用与总结之字符串处理函数
1. memcpy(拷贝内存内容)
【头文件】#include <string.h>
【函数原型】void *memcpy(void *dest, const void *src, size_t len);
【函数说明】拷贝src所指的内存内容前len个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整复制len个字节,不会因为遇到字符串结束符'\0'而结束。
【返回值】返回指向dest的指针。
【补充说明】指针src和dest所指的内存区域不可重叠。//使用memmove可以用来处理重叠区域。
【自定义实现】
void *memcpy(void *dest, const void *src, size_t len)
{
if(NULL == dest || NULL == src)
{
return NULL; // (void *)一定要返回一个指针
}
char *tmpDest = dest;
const char *tmpSrc = src;
size_t i;
; i < len; i++)
{
tmpDest[i] = tmpSrc[i];
}
return dest;
}
2. memmove(拷贝内存内容)
【头文件】#include <string.h>
【函数原型】void * memmove(void *dest,const void *src,size_t n);
【函数说明】memmove()与 memcpy()一样都是用来拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上。不同的是,当 src 和 dest 所指的内存区域重叠时,memmove()仍然可以正确的处理,不过执行效率上会比使用 memcpy()略慢些。
【返回值】返回指向dest的指针。
【补充说明】指针src和dest所指的内存区域可重叠。
3. atoi(将字符串转换为整型数)
【头文件】#include <stdlib.h>
【函数原型】int atoi(const char *nptr);
【函数说明】atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符才开始做转换,而再遇到非数字或字符串结束符时才结束转换,并将结果返回。
【返回值】返回转换后的整型数
【补充说明】与使用strtol(nptr, (char **)NULL, 10); 结果相同
【自定义实现】
int myAtoi(char *str) {
, , i = ;
while (str[i] == ' ') { i++; }
if (str[i] == '-' || str[i] == '+') {
sign = - * (str[i++] == '-');
}
') {
|| ( && str[i] - )) {
) return INT_MAX;
else return INT_MIN;
}
* ');
}
return base * sign;
}
4. strstr(在一字符串中查找指定的字符串)
【头文件】#include <string.h>
【函数原型】char *strstr(const char *haystack,const char *needle);
【函数说明】strstr()会从字符串 haystack 中搜寻字符串 needle,并将第一次出现的地址返回。
【返回值】返回指定字符串第一次出现的地址,否则返回 0。
【自定义实现】
char *strstr(char *haystack, char *needle)
{
int i, j;
; i<strlen(haystack); i++ )
; j<strlen(needle); j++ )
if ( haystack[i] != needle[j] )
break;
if(i>=strlen(haystack))
return NULL;
else
return &haystack[i];
}
C库函数使用与总结之字符串处理函数的更多相关文章
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- C/C++中经常使用的字符串处理函数和内存字符串函数
一. 字符处理函数 1. 字符处理函数:<ctype.h> int isdigit(int ch) ;//是否为数字,即ch是否是0-9中的字符 int ...
- C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
原文:http://www.cnblogs.com/JCSU/articles/1305401.html C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. ...
- [VB.NET Tips]VB.NET专有的字符串处理函数
.NET Framework类库中含有专门为Visual Basic.NET程序员设计的函数和过程. 这些方法虽然是为VB.NET程序员设计的,但是也可以被.NET Framework上支持的任何语言 ...
- C++常用的string字符串截断函数
C++中经常会用到标准库函数库(STL)的string字符串类,跟其他语言的字符串类相比有所缺陷.这里就分享下我经常用到的两个字符串截断函数: #include <iostream> #i ...
- [转]C++字符串操作函数_tcschr、_tcsrchr
原文出处:https://blog.csdn.net/eickandy/article/details/50083169 C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,本 ...
- C学习笔记-字符串处理函数
字符串函数是最问常用的库函数之一,本文整理了常用的字符串函数,其来源为互联网 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, ...
- 20140902 字符串拷贝函数 右旋转字符串 string类的编写
1.strncpy字符串拷贝函数 //strncpy的程序 #include<stdio.h> #include<assert.h> char *strncpy1(char * ...
- VB常用字符串操作函数
1. ASC(X),Chr(X):转换字符字符码 [格式]: P=Asc(X) 返回字符串X的第一个字符的字符码 P=Chr(X) 返回字符码等于X的字符 [范例]: (1)P=Chr(65) ‘ 输 ...
随机推荐
- JS产生随机数的几个用法!
<script> function GetRandomNum(Min,Max) { var Range = Max - Min; var Rand = Math.random(); ret ...
- Windows 10 版本 1507 中的新 AppLocker 功能
要查看 Windows 10 版本信息,使用[运行]> dxdiag 回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...
- 【转】JS编码解码、C#编码解码
GB2312,指的是中文 UTF8,指的是国标,包含中文.英文. 但是通过JQuery.ajax的Get.Post,如果直接传递中文或者特殊字符的特使字符的时候,这个时候就会出现乱码现象. JS编码 ...
- 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义
创建一个控制台程序和一个类库, 在控制台创建一个匿名对象,然后再在类库中访问它,代码如下: namespace ConsoleApplication1 { class Program { static ...
- 背水一战 Windows 10 (21) - 绑定: x:Bind 绑定, x:Bind 绑定之 x:Phase, 使用绑定过程中的一些技巧
[源码下载] 背水一战 Windows 10 (21) - 绑定: x:Bind 绑定, x:Bind 绑定之 x:Phase, 使用绑定过程中的一些技巧 作者:webabcd 介绍背水一战 Wind ...
- php中导入导出excel的原理
在php中我们要经常导入导出excel文件,方便后台管理.那么php导入和导出excel的原理到底是什么呢?excel分为两大版本excel2007(后缀.xlsx).excel2003(后缀.xls ...
- 11、ASP.NET MVC入门到精通——AspnetMVC分页
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 说起分页,这基本上是我们Web开发中遇见得最多的场景,没有之一,可即便如此,要做出比较优雅的分页还是需要技巧的.这里我先说一种ASP.NET ...
- org.springframework.context.ApplicationContextAware使用理解
一.这个接口有什么用? 当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean.换句话说,就是这个类可以 ...
- 低调奢华 CSS3 transform-style 3D旋转
点击这里查看效果:http://keleyi.com/a/bjad/s89uo4t1.htm 效果图: CSS3 transform-style 属性 以下是代码: <!DOCTYPE html ...
- 在Autodesk应用程序商店发布基于浏览器的Web应用程序
你一定已经听说过Autodesk应用程序商店了,通过Autodesk应用程序商店,你可以免费下载或购买来自全球的优秀开发者发布的应用程序,来帮助你更快更方便的完成你的工作.而且作为开发者,您也可以在A ...