• C语言中的string.h中的内存字符串处理函数


    转载请注明出处:http://blog.csdn.net/zhubin215130/article/details/8993403

    void *memcpy(void *dest, const void *src, size_t n);

    从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中.


    void *memmove( void* dest, const void* src,size_t count);

    由src所指内存区域复制count个字节到dest所指内存区域。
    memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后src内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。


    void *memset(void *s, int ch, size_t n);

    将s中前n个字节(typedef unsigned int size_t)用ch替换并返回s。
    memset作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法.


    int memcmp(const void *buf1, const void *buf2, unsigned int count);

    比较内存区域buf1和buf2的前count个字节。
    当buf1<buf2时,返回值<0
    当buf1=buf2时,返回值=0
    当buf1>buf2时,返回值>0


    extern char *strcpy(char* dest, const char *src);

    把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间.src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。


    char * strncpy(char *dest, char *src,size_t num);

    复制src中的内容(字符,数字、汉字....)到dest,复制多少由num的值决定,返回指向dest的指针。如果遇到null字符(''),且还没有到num个字符时,就用(num - n)(n是遇到null字符前已经有的非null字符个数)个null字符附加到destination。


    extern char *strcat(char *dest,char *src);

    把src所指字符串添加到dest结尾处(覆盖dest结尾处的'')并添加''。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。


    extern char *strncat(char *dest,char *src,int n);

    把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'')并添加''。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。


    extern int strcmp(const char *s1,const char * s2);

    比较字符串s1和s2。
    当s1<s2时,返回值<0
    当s1==s2时,返回值=0
    当s1>s2时,返回值>0
    即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。


    int strncmp(char *str1, char *str2, int maxlen);

    此函数功能即比较字符串str1和str2的前maxlen个字符。

    如果前maxlen字节完全相等,返回值就=0;

    在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。



    int strcasecmp (const char *s1, const char *s2);

    strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。

    若参数s1和s2字符串相等则返回0。

    s1大于s2则返回大于0 的值。

    s1 小于s2 则返回小于0的值。



    int strncasecmp(const char *s1, const char *s2, size_t n)

    strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异,

    若参数s1和s2字符串相同则返回0 

    s1若大于s2则返回大于0的值

    s1若小于s2则返回小于0的值.

    extern char *strchr(const char *s,char c);

    查找字符串s中首次出现字符c的位置,返回首次出现c的位置的指针,如果s中不存在c则返回NULL。


    extern unsigned int strlen(char *s);

    计算字符串s的(unsigned int型)长度,不包括''在内.返回s的长度,不包括结束符NULL。

  • 相关阅读:
    潭州课堂25班:Ph201805201 django 项目 第二课 git 版本控制 (课堂笔记)
    HTML中的转义字符
    Java防止SQL注入
    Web很脆弱,SQL注入要了解
    防止sql注入:替换危险字符
    Hadoop HA详解
    java代码---charAt()和toCharry()的用法
    java代码-----计算器,界面+功能+boolean
    java代码-----运用endWith()和start()方法
    java代码---indexOf()方法
  • 原文地址:https://www.cnblogs.com/luoquan/p/5265240.html
Copyright © 2020-2023  润新知