zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    优化后的组合算法
    Android之——AsyncTask和Handler对照
    LeetCode(30) Substring with Concatenation of All Words
    HDU--1054--Strategic Game【最小点覆盖】
    最小生成树模板(poj3625)
    QT中使用高速排序
    走进APICloud的世界 (1)
    layer,一个可以让你想到即可做到的javascript弹窗(层)解决方案
    解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:
    移动端H5的一些基本知识点总结
  • 原文地址:https://www.cnblogs.com/luoquan/p/5265240.html
Copyright © 2011-2022 走看看