码迷,mamicode.com
首页 > 其他好文 > 详细

内存函数

时间:2019-08-10 14:15:31      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:忽略   空字符串   拷贝   memory   作用   %s   div   pre   存在   

//内存函数
#include <stdio.h>
#include <memory.h>
#include <strings.h>
void main2(){  //memset赋值函数
    char str[45] = "hello luoxu hello c";
    memset(str,‘A‘,6);  //第一个参数内存首地址,第二个参数要赋值的值,第三个参数从首地址前进多少个字节
    printf("%s\n",str); //AAAAA luoxu hello c

    memset(str,‘0‘,strlen(str));  //全部置为0
    printf("%s,%d\n",str,strlen(str));//0000000000000000000,19

    memset(str,‘\0‘,strlen(str));  //清空字符串
    printf("%s,%d\n",str,strlen(str));//,0
}

void main3(){  //memcpy拷贝字符串
    char str1[30] ="China is great";
    char str2[30] ="hello c";
    printf("%s\n",str1); //China is great
    memcpy(str1,str2,5); //从str2中取5个字符替换掉str1中首地址开始的内容  5表示字节数
    printf("%s\n",str1); //hello is great
}
void main4(){  //memcpy拷贝数组
    int a[]={1,3,5,7,9};
    int b[]={2,4,6,8,10};
    memcpy(a,b,8);   //从b的首地址开始取出8个字节的二进制数,赋值给从a首地址开始8个字节的二进制数,也就是替换a中的前两个元素
    //memcpy按照内存字节来拷贝,不管是什么类型,都是拷贝二进制,所以四个字节的整数也可以按照字节来拷贝
    for (int i = 0; i < 5; ++i) {
        printf("%d,",a[i]);  //2,4,5,7,9,
    }
}

void main5(){  //memccpy拷贝字符串,某一字符结束
    char str1[30] ="China is great";
    char str2[30] ="hello c";
    printf("%s\n",str1); //China is great
    //memccpy(str1,str2,‘0‘,7); //从str2中取5个字符(遇到‘0‘就结束替换)替换掉str1中首地址开始的内容  7表示字节数,此时等价于memcpy()
    memccpy(str1,str2,‘l‘,7); //从str2中截取从首地址开始到‘l‘的字符串,将其与str1中首地址开始的字符串替换
    //作用:某些时候可以利用此特性把某字符设置为结束符
    printf("%s\n",str1); //helna is great
}

void main6(){  //memchr 查找在字符串中某一字符的地址
    char str[30] ="China is great";
    char ch=‘i‘;
    char *p = memchr(str,ch,30);
    //从地址str开始检索,前进30个字节,存在返回其地址,不存在返回为NULL
    if(p ==NULL) printf("not found");
    else printf("found");
}

void main(){  //memicmp 忽略大小写比较字符串是否相等  ignore
    char *buf1 ="ABCD123";
    char *buf2 ="abcd456";
    int res = memicmp(buf1,buf2,4);
    //比较buf1和buf2前面四个字节是否相等,忽略大小写,相等返回其0,不等返回非0
    if(res ==0 ) printf("前4个字符忽略大小写相等");
    else printf("前4个字符忽略大小写相等");
}

 

内存函数

标签:忽略   空字符串   拷贝   memory   作用   %s   div   pre   存在   

原文地址:https://www.cnblogs.com/luoxuw/p/11331137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!