zoukankan      html  css  js  c++  java
  • strcpy,memset,memcpy三者之间的根本区别

    1.strcpy的用法

       strcpy的作用是拷贝字符串,当它遇到''时结束拷贝,原型为:extern char *strcpy(char *dest,char *src);

    就是把src的字符串复制到dest中,例如:

    #include<string.h>

    #include<iostream.h>

    void main(){

    char a[20],c[]="i am teacher!";

    strcpy(a,c);

    cout<<a<<endl;}

    此小例子中,char c[]={'i',' ','a','m',' ','t','e','a','c','h','e','r',''};字符串一般默认后面有一个结束符,

    当用到strcpy(a,c);函数时,把c中的字符串复制到a中,当遇到字符串中默认的结束符后,复

    制结束。

    2.memcpy的用法

    memcpy用来做内存拷贝,可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;

    原型函数为void *memcpy(void *dest, const void *src, size_t n);其中dest为返回的值。功能是从源src

    所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置。

    例如:#include <stdio.h>
    #include <string.h>
    int main()
    {
       char *s="Golden Global View";//此字符串总共有18个字符,再加上一个结束符,总共存放19个字符
       char d1[20],d2[20];
       memcpy(d1,s,(strlen(s)+1));//用memcpy函数,把s中字符串的首地址拷贝到d中,连续复制19个字符

    memcpy(d2,s+14,5); //从第14个字符(V)开始复制,连续复制4个字符(View)
       printf("%d ",strlen(s));
       printf("%s ",d1);

    printf("%s ",d2);
       return 0;
    }

    3.memset的用法

    memset的作用是对一段内存空间全部设置为某个字符,常用在内存空间的初始化,其原型函数为

    void *memset(void *s,int c,size_t n);就是把已开辟内存空间s的首n个字节设置为c。

    例如#include <stdio.h>

    #include <memory.h>
    #include <string.h>
    int main()
    {
    char s[]="Golden Global View";
    memset(s,'G',6);//把s中的前6个字符改成G,也就是把Golden改成GGGGGG
    printf("%s ",s);//输出为GGGGGG Global View
    return 0;
    }

  • 相关阅读:
    Test
    Python Requests库使用指南
    Python文件操作,看这篇就足够
    Ubuntu配置完全教程
    Redis入门
    Python Requests 库学习笔记
    c++11函数模板“偏特化”的一种实现
    c++通用判零模板类
    Python实现1-9数组形成的结果为100的所有运算式
    QT:用QWebSocket实现webchannel,实现C++与HTML通信
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318627.html
Copyright © 2011-2022 走看看