首页 > 代码库 > C语言中memset,strcpy、sprintf等函数的使用

C语言中memset,strcpy、sprintf等函数的使用

以下的知识点比较零散,经常在编程中用到的,做个笔记:

1、memset

     函数原型: void *  memset(void * Dst, int  Val, size_t Size);

     作用: 将已经开辟内存空间Dst的首Size个字节的值设为值val

     如:

            memset(header->wsa__MessageID, 0, 100);             //清空header->wsa__MessageID的内容

2、strcpy

    函数原型: extern char *strcpy(char *dest,char *src);

    作用: 将src所指由NULL结束的字符串复制到dest所指的字符串中。

    如:

           strncpy(header->wsa__MessageID, _HwId, strlen(_HwId));            //将字符串_HwId的内容复制到header->wsa__MessageID字符串里面

3、sprintf

    作用:字符串格式化命令

    如:

          sprintf(_HwId,"urn:uuid:%ud68a-1dd2-11b2-a105-%02X%02X%02X%02X%02X%02X",
                       Flagrand, macaddr[0], macaddr[1], macaddr[2], macaddr[3], macaddr[4], macaddr[5]); //将 Flagrand, macaddr[0]~macaddr[5] 写入                                                            //到字符串"urn:uuid:%ud68a-1dd2-11b2-a105-%02X%02X%02X%02X%02X%02X",并保存到_HwId里面    

4、sscanf

    如:

           sscanf(str,"%d.%d.%d.%d",&iIp1,&iIp2,&iIp3,&iIp4);      //将str的内容按照"%d.%d.%d.%d"格式,解析出iIp1~iIp4

5、typedef 

    作用:用来定义类型的同义词

    如: typedef double wages;   //wages 是double的同义词

           typedef wages salary;   //salary 间接的是double的同义词

6、enum 枚举

   如:

       typedef enum

     {

         Video_Stream = 0x00;     //枚举成员是一个常量表达式,可以用于其他需要常量表达式的任何地方

         Audeo_Stream =0x01;

         SubPicture_Stream = 0x02;

         Unknown_Stream = 0x03

         Count_Stream = 0x04;

     } StreamType;

C语言中memset,strcpy、sprintf等函数的使用