王为民的技术和生活空间

练内功、勤实战、学习数学、迸发创新意识、注重团队精神,把握好前进的方向…………

用户操作
[即时聊天] [发私信] [加为好友]
王为民ID:ningboweimin
93346次访问,排名1066,好友17人,关注者23人。
08.05-至今 深圳清华力合通信有限公司 MMI开发
07.09--08.05 深圳胜博联技术有限公司 MTK MMI开发。
05.12-07.08 宁波高凌通信技术有限公司工作,主要负责双膜(GSM/PHS)手机及小灵通的研究和开发,平台涉及展讯及东芝。
05.6-05.12 国家数字交换系统工程技术研究中心(NDSC) 主要从事路由器路由协议调试和开发,具体负责多协议标志交换(MPLS)模块,深入了解了其信令和控制协议——标记分发协议(LDP)。
ningboweimin的文章
原创 104 篇
翻译 1 篇
转载 105 篇
评论 18 篇
王为民的公告
清新家园

关注C语言,关注生活。 QQ:94686732 Msn:wwmzxy@hotmail.com
wangweiminxy@gmail.com
XING
最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
ningboweimin:自己顶下先。。。
wuqifeng0101:你好 不知道你能不能提供信大微电子专业的专业课试题数字电路和微机原理 谢谢!
wangseaya:真是幸福的一对啊
羡慕ing
祝福ing
sunag:天仙配
羡慕
嫂子真漂亮
吼吼
不过呢
你有点胖了
尤其是肚子
要多运动啊
文章分类
收藏
相册
户外婚礼
美丽风景
我和朋友
行网聚会
IT技术
IBM技术专家群
ITPUB
MSDN中国
VC知识库
中国Unix技术
中国系统分析师
嵌入式资讯网
红联LINUX
计算机世界
软件工程专家网
管理天地
IT经理世界
华尔街日报
好书阁
《华为真相》
《商道》
《墨迹》
《没有任何借口》
《细节决定成败》
朋友圈
My Gallery
XING宁波
军华
冰儿
可爱狼
小潘
嵐曦一尘
月光博客
朗朗星空
梅花三弄
永超
江涛
瀚海星尘
程军剑
管为为
胡雪儿
馨荣家园
网络通信
Cisco网络技术
中国3G通信网
中国协议分析网
中国通信资源网
休闲娱乐
Google黑板报
Mofile TV
人民网
英语学习网
行网中国
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 字符串的一些理解收藏

新一篇: 无线互联网企业如何把握3G发牌契机? | 旧一篇: 栈、堆的理解

字符串的一些理解

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

  memcpy
  extern void *memcpy(void *dest,void *src,unsigned int count);
  #include <string.h>
   功能:由src所指内存区域复制count个字符串到dest所指内存区域.
   说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针.
  
   memset
   extern void *memset(void *buffer,int c,int count);
   #include <string.h>
   功能:把buffer所指内存区域的前count个字节设置成字符c
   说明:返回指向buffer的指针.

二.区别
    memset 用来对一段内存空间全部设置为某个字符,一般用于在对定义的字符串初始化为' '或者'\0';
    例: char a[100];
          memset(a,'\0',sizeof(a));
   
   memcpy 是用来做内存拷贝,可以用来拷贝任何数据类型的对象,可以指定拷贝的数据长度;
   例:
           char a[100],b[50];
           memcpy(b,a,sizeof(b));   //注意:如果使用sizeof(a),会造成内存溢出
           mem是一段内存,他的长度,必须自己记住.memcpy是见着什么拷贝什么。
   
    strcpy 就只能拷贝字符串,它遇到'\0'就结束拷贝;
      例:char a[100],b[50];
              strcpy(a,b);
              如用strcpy(b,a)要注意a中的字符串长度(第一个'\0'之前) 是否超过50,如果超过,则会造成b的
  内存溢出.它是不会拷贝'\0'的,所以一般还有加一个语句:
              *a='\0';
  
 三.使用技巧
      memset 可以方便的清空一个数据结构的变量或数组.
      如:
        struct sample_struct
       {
              char  csName[16];
              int iSeq;
              int iType;
       };
       对于变量
       struct sample_struct  stTest;
       一般情况下,初始化stTest的方法:
        stTest.csName[0]='\0';
        stTest.iSeq=0;
        stTest.iType=0;
    而用memset:
       memset(&stTest,0,sizeof(struct sample_struct));
    如果是数组:
    struct sample_struct  TEST[100];
    memset(TEST,0,sizeof(struct sample_struct)*100);
     
2、内存及字符串操作篇
bcmp
bcopy
bzero
index
memccpy
memchr
memcmp
memcpy
memmove
memset
rindex
strcasecmp
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strdup
strlen
strncasecmp
strncat
strncpy
strpbrk
strrchr
strspn
strstr
strtok
 

发表于 @ 2007年09月10日 17:13:00|评论(loading...)|编辑

新一篇: 无线互联网企业如何把握3G发牌契机? | 旧一篇: 栈、堆的理解

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 王为民