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库函数使用与总结之字符串处理函数的更多相关文章

  1. 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...

  2. C/C++中经常使用的字符串处理函数和内存字符串函数

    一.            字符处理函数 1.        字符处理函数:<ctype.h> int isdigit(int ch) ;//是否为数字,即ch是否是0-9中的字符 int ...

  3. C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    原文:http://www.cnblogs.com/JCSU/articles/1305401.html C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. ...

  4. [VB.NET Tips]VB.NET专有的字符串处理函数

    .NET Framework类库中含有专门为Visual Basic.NET程序员设计的函数和过程. 这些方法虽然是为VB.NET程序员设计的,但是也可以被.NET Framework上支持的任何语言 ...

  5. C++常用的string字符串截断函数

    C++中经常会用到标准库函数库(STL)的string字符串类,跟其他语言的字符串类相比有所缺陷.这里就分享下我经常用到的两个字符串截断函数: #include <iostream> #i ...

  6. [转]C++字符串操作函数_tcschr、_tcsrchr

    原文出处:https://blog.csdn.net/eickandy/article/details/50083169 C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,本 ...

  7. C学习笔记-字符串处理函数

    字符串函数是最问常用的库函数之一,本文整理了常用的字符串函数,其来源为互联网 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, ...

  8. 20140902 字符串拷贝函数 右旋转字符串 string类的编写

    1.strncpy字符串拷贝函数 //strncpy的程序 #include<stdio.h> #include<assert.h> char *strncpy1(char * ...

  9. VB常用字符串操作函数

    1. ASC(X),Chr(X):转换字符字符码 [格式]: P=Asc(X) 返回字符串X的第一个字符的字符码 P=Chr(X) 返回字符码等于X的字符 [范例]: (1)P=Chr(65) ‘ 输 ...

随机推荐

  1. [AngularJS] AngularJS系列(7) 进阶篇之promise

    目录 使用promise 补充说明 $q.all $q.when 在上节中,我们在http中使用了then 和 在ngResource中返回了一个'延迟对象'. 本节介绍一下angular中的prom ...

  2. 《C#并发编程经典实例》笔记

    1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期 ...

  3. Cocos2dx实现光影效果的两种方式

    Shader 和 RenderTexture 先贴上两张效果图 (Shader) (RenderTexture) 说一下实现的原因,因为项目中需要夜景,光影的效果.最初想到使用Shader来实现.实现 ...

  4. 基于.net mvc 的供应链管理系统(YB-SCM)开发随笔

    作为园子里的伪新人,经常拜读众位大牛的帖子,一直有写点东西的想法. 今天终于下定决心去写这个系统的开发过程,由于本人文笔有限,不足之处多多海涵.

  5. javascript中的两个定时函数setTimeOut()和setInterVal()的区别

    js中经常性要用到间隔几秒或暂停几秒执行某个函数, 简单介绍我从网上收集到setTimeOut()和setInterVal()的区别1.setInterVal()介绍 1)定义 setInterval ...

  6. php图片验证码为什么必须加上ob_clean();才能正常显示。

    ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区. If you work on an extremely lar ...

  7. Bootstrap之字体图标

    优点:1.减少请求 2.容易控制样式 所在位置:在下载的bootstrap文件中的fonts文件夹存放字体图标 默认路径为当前目录下,如需修改路径,则需在bootstrap.css中查找font-fa ...

  8. TypeScript的4种编译方式

    1.手动编译 1.1.首先找到TypeScript的安装目录,我的在"C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0".

  9. Android-配置文件中设置“android:clickable="false"无效的原因及解决办法

    开发中遇到的问题:要实现一个button初始为不可点击,于是在配置文件中设置了android:clickable="false"运行后发现还是可以点击,于是写在了Activity中 ...

  10. mvp+retrofit+rxjava

    引用 "retrofit" : "com.squareup.retrofit2:retrofit:2.0.1", "retrofit-adapter& ...