专栏中心

EEPW首页 > 专栏 > C语言字符串处理函数应用

C语言字符串处理函数应用

发布人:电子禅石 时间:2017-12-29 来源:工程师 发布文章

C 只要涉及到通信协议, 主要就是看,对字符串处理函数的灵活应用。现归纳几条在实际项目中应用的的。

  1. sprintf  主要来封装 数据,进行TCP 传输。

     sprintf((char*)sendDataBuf, "{\"code\":102,\"sn\":\"%d\",\"plantId\":%d,\"humidity\":%d,\"illumination\":%d,\"temperature\":%d,\"lightTime\":%d}\n", \
                                        sncode,PLANT_ID,tempHumi,tempLight,tempTemp,TimeOfLight);  

  2. strstr 查找一个字符串是否是另一个字符串的子串 ,很好的应用是,蓝牙传过来一堆数据,包头是重要的命令识别点,通过strstr 来区分不同的命令。

          strncpy(command,p_data,length);
          for(t=0;t<7;t++)
        {
             temp = strstr(command,COMMAND_ARRAY[t]);
            if(temp != NULL)
            {
                command_ID=t;
                break;
            }
        }

  3.strncmp 比较两个字符串是否相同

err_code = strncmp(PASSWORD_DEFAULT,command,length);

4.一些mem的常用函数。

void *memcpy(void *dest, const void *src, size_t n);

从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。

int memcmp(const void *buf1, const void *buf2, size_t count); 
比较buf1和buf2前面count个字节大小. 
返回值< 0, 表示buf1小于buf2; 
返回值为0, 表示buf1等于buf2; 
返回值> 0, 表示buf1大于buf2. 

int memicmp(const void *buf1, const void *buf2, size_t count); 

比较buf1和buf2前面count个字节. 与memcmp不同的是, 它不区分大小写. 

返回值同上.


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

多层基板制造工程1

国民技术2026合作伙伴大会揭晓年度大奖,世强硬创荣获“战略贡献伙伴”与“市场先锋”奖

2026-03-04

比亚迪测试创纪录的 1500 千瓦闪充设备

防焊

2026年文晔营运动能看好,数据中心与服务器成增长主力

多层线路板层压工序产能分析

带你去看IDF-阿财

视频 2010-04-23

思科借Outshift布局智能体人工智能,为认知互联网蓄势待发

半导体制造与AI数据中心建设推高中国台湾电力消耗

ASIC阵营经典对决:NVIDIA 博通携台积电成3.5D封装先发选手

EDA/PCB 2026-03-05

AI狂吃存储!2026年价格将再涨130%

网络与存储 2026-03-05

多多VHDL教程资料

IDF2010:凌动处理器

视频 2010-04-22

IDF2010:杨叙讲话

视频 2010-04-22

2010IDF全景精彩展现-蒋倩

视频 2010-04-23

非平稳信号分析与处理

IDF2010:英特尔嵌入式架构

视频 2010-04-22

晶圆代工报价全面上涨

EDA/PCB 2026-03-05

特朗普召集科技巨头赴白宫签署电力支付承诺

智能计算 2026-03-05

国产大功率优选 | 非隔离升降压电源KUB系列(10-50A)

更多 培训课堂
更多 焦点
更多 视频

技术专区