爱问知识人 爱问教育 医院库

怎样将两个string类型的字符串复制?

首页

怎样将两个string类型的字符串复制?

怎样将两个string类型的字符串复制?

提交回答

全部答案

    2014-04-11 21:53:20
  •   C/C++字符串函数的头文件:string。h
    复制函数主要有4个,如下:
    1、char * strcpy(char* destination,const char * source);
    2、char* strncpy(char* destination,const char* source,size_t num);
    3、void * memcpy(void* destination,const void* source,size_t num);
    4、void * memmove(void* destination,const void* source,size_t num);
    功能及用法说明:
    1、strcpy:将由source指针指示的C 字符串(包括结尾字符)复制到destination指针指示的区域中。
      该函数不允许source和destination的区域有重叠,同时,为了避免溢出,destination区域应该至少和source区域一样大。 2、strncpy:复制source的前num字符到destination。如果遇到null字符('\0'),且还没有到num个字符时,就用(num - n)(n是遇到null字符前已经有的非null字符个数)个null字符附加到destination。
      注意:并不是添加到destination的最后,而是紧跟着由source中复制而来的字符后面。下面举例说明: char des[] = "Hello,i am!"; char source[] = "abc\0def"; strncpy(des,source,5); 此时,des区域是这样的:a,b,c,\0,\0,i,空格,a,m,! \0,\0并不是添加在!的后面。
       这里,需要注意strcpy仅仅复制到null字符就结束了。 3、memcpy:将source区域的前num个字符复制到destination中。该函数不检查null字符(即将null字符当作普通字符处理),意味着将复制num个字符才结束。
      该函数不会额外地引入null字符,即如果num个字符中没有null字符,那么destination中相应字符序列中也没有null字符。同strcpy的区别:允许将source中null字符后面的字符也复制到destination中,而strcpy和strncpy则不可以。
       4、memmove:同memcpy完成同样的功能,区别是,memmove允许destination和source的区域有重叠。而其他三个函数不允许。 例子:char str[] = "This is a test!"; memmove(str+2,str+10,4); 此时,str变成:Thtests a test!。
      

    甘***

    2014-04-11 21:53:20

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):