C语言string.h中的函数

1、#include <string.h>

void *memcpy( void *to, const void *from, size_t count );

功能:函数从from中复制count 个字符到to中,并返回to指针。 如果tofrom 重叠,则函数行为不确定。

 

注意点:(1)第一个参数是目标指针,第二个参数是起始指针,不要搞错了。

             (2)拷贝过程中,计数的单位是字符,也就是字节。

例子:

#include<iostream>
#include<cstring>
using namespace std;

int main(){
 
 int a[4]={1,2,3,4};
 int b[4];
 memcpy(b,a,4*4);       //拷贝一维的int数组
 
 for(int i=0;i< sizeof(b)/4; i++)
  cout<<b[i]<<" ";
  
 cout<<endl;
 
 int c[2][2]={1,2,3,4}; //拷贝二维的int数组
 int d[2][2];
 memcpy(d,c,4*4);
 for(int i=0;i<2; i++){
  for(int j=0;j<2;j++)
   cout<<d[i][j]<<" ";
  cout<<endl;
 }
 
 char e[2][2]={'a','b','c','d'}; //拷贝二维的char数组
 char f[2][2];
 memcpy(f,e,4);
 for(int i=0;i<2; i++){
  for(int j=0;j<2;j++)
   cout<<f[i][j]<<" ";
  cout<<endl;
 }
  
}

 

 

另外一个例子程序:

struct map{
 
 int a;
 string b;
};

int main(){
 
 struct map a[2]={{4,"hello"},{1,"world"}},b[2];
 memcpy(b,a,sizeof(map)*2);
 cout<<b[0].b<<endl;
}

~~~~~~~~~~~~~~~~~~~~~

 

 

 

你可能感兴趣的:(C语言string.h中的函数)