strcpy,memset,memcpy三者之间的根本区别
来源:互联网 发布:c语言gui编程 编辑:程序博客网 时间:2024/05/16 18:13
1.strcpy的用法
strcpy的作用是拷贝字符串,当它遇到'\0'时结束拷贝,原型为: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','\0'};字符串一般默认后面有一个结束符,
当用到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\n",strlen(s));
printf("%s\n",d1);
printf("%s\n",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\n",s);//输出为GGGGGG Global View
return 0;
}
- strcpy,memset,memcpy三者之间的根本区别
- strcpy,memset,memcpy三者之间的根本区别
- Strcpy,memcpy,memset的根本区别 ZeroMemory、memset 和 “={0}” 三者区别:
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别!!!!
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别
- memset ,memcpy 和strcpy 的根本区别
- memset ,memcpy 和strcpy 的根本区别?
- memset ,memcpy 和strcpy 的根本区别
- memset ,memcpy 和strcpy 的根本区别
- memset ,memcpy 和strcpy 的根本区别?
- hdu1841之KMP应用
- E.Function(13.7.8)
- 最小生成树-克鲁斯卡尔-Kruskal算法
- 最优二叉查找树 算法导论216
- Python简单教程
- strcpy,memset,memcpy三者之间的根本区别
- conversion to dalvik format failed with error 3
- IOS音频简单处理
- 07-jbpm工作流之根据流程变量分配任务Task
- hdu1878 欧拉回路
- oracle dblink 实验
- 在ubuntu13.04环境下配置apache的vhost
- Android LaunchMode SingleInstance 用法
- Pythpn格式化字符串