首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

memset、memcpy跟strcpy函数使用

2012-12-24 
memset、memcpy和strcpy函数使用memset原型:extern void *memset(void *buffer, int c, int count)用法:#i

memset、memcpy和strcpy函数使用

memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#include
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针。

memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。

strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。

***********************************************************************************************

1. void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。

2. 例子

#include<iostream>using namespace std;int main(void){//C++中用memset,//1. 可以赋予int数组0,-1;可以赋bool数组为true,false;可以赋予char数组任何单个字符。其他不好说        // 因为int型的0二进制为:00...0  ; int型的1二进制为:11...1       ?//2. sizeof()对于一维、二维数组都好使!int map[5][5];memset(map,-1,sizeof(map));printf("%d\n",sizeof(map));for(int i=0;i<5;i++){for(int j=0;j<5;j++){printf("%d\t",map[i][j]);}printf("\n");}int arr[10];printf("%d\n",sizeof(arr));memset(arr,0,sizeof(arr));for(int i=0;i<10;i++)printf("%d\t",arr[i]);printf("\n");/////////////////////////////////////////////////////////////////////////////////////////////char map2[5][5];memset(map2,'%',sizeof(map2));printf("%d\n",sizeof(map2));for(int i=0;i<5;i++){for(int j=0;j<5;j++){printf("%c\t",map2[i][j]);}printf("\n");}system("pause");return 0;}

热点排行