当前位置: 首页 > news >正文

C语言基础【24】:组包和解包

1.sprintf(存放字符串首地址,“相应格式”,数据):组包函数

int year = 2025;
int month = 9;
int day = 24;
char arr[128]={};
int len = sprintf(arr,"%d年%d月%d日",year,month,day);    //返回实际组包长度

此代码还实现了数字转字符串的一个操作。

2.sscanf(数据来源首地址,“相应格式”,保存数据的目标地址):解包函数

int year=0;
int month=0;
int day=0;
sscanf(arr,"%d年%d月%d日",&year,&month,&day);

%d:遇到不是‘0’-‘9’的结束,并且不会移动指针,会停下来。

%s:遇到空格或者\0停止

Tip:所有的停止都意味着不会再读取后面的数据,即使后面的数据可能匹配

3.sscanf()的其他用法

3.1 %*d和%*s丢弃提取的值

3.2空格可能会被编译器优化,不影响匹配

3.3 %3s或者%3d,提取时只取3位

char arr[128] = {"12345678"};
int num =0;
sscanf(arr,"%*2d %2d",&num);    //提取34

4.%[]提取

%[a-z,A-Z]        //表示提取英文字母,并且不区分大小写,遇到非英文字母停止提取
%[aBc]            //提取aBc字母,遇到其他的停止提取
%[^aBc]            //提取除aBc以外的东西,遇到他们三停止

例子:取abc#jkl#iop中两个#之间的字符

sscanf(arr,%*[^#]#%[^#]);

        定位#用到%[^#],第一个#前的不要,用到*。为了让指针走过#,需要给到一个#进行匹配,或者用到%*c也行。

http://www.dtcms.com/a/403985.html

相关文章:

  • 网站建设PHP开发是什么意思长沙seo服务
  • BMAD的多代理协同开发工作流指南
  • 沈阳网站建设 景乔科技毕节做网站
  • 网站开发 前端 后端 如何结合他达拉非片和西地那非片的区别
  • 做国际物流需要自己的网站吗win主机 wordpress静态
  • 指令微调数据评估与影响:构建高质量大语言模型的关键
  • 本墨陈黑做网站有版权网站开发维护成本
  • 【自动驾驶】自动驾驶概述 ⑤ ( 自动驾驶硬件概述 | 车载计算单元 IPC | 车辆线控系统 )
  • 静态IP的适用场景
  • 第1章 计算机系统概述
  • 印刷个性化网站建设的意义残疾人无障碍网站怎么做
  • Linux学习笔记(六)--Linux进程概念
  • C语言自学--数据在内存中的存储
  • 石家庄网站制作哪家好wordpress 优化数据库
  • 《基于Qt的车载系统项目》
  • 有哪些免费推广软件网站seo推广排名
  • 41.传输层协议UDP
  • 优良的定制网站建设提供商c2c模式的网站
  • 记力扣2516.每种字符至少取k个 练习理解
  • 广州站电话科创纵横 网站建设
  • 进程与集群:提升性能
  • 北京建设信源官方网站如何让wordpress文本小工具支持php和简码?
  • NLP算法岗位面试题精讲:深入理解LoRA与QLoRA
  • 基于神经控制微分方程的采集无关深度学习用于定量MRI参数估计|文献速递-文献分享
  • 无锡嘉饰茂建设网站的公司天河区网站制作
  • 应用程序映像(Application Image)是什么?
  • 访问的网站显示建设中wordpress tag伪静态
  • 单调速率调度(RMS)算法
  • 百度智能云一念·智能创作平台
  • 做网站订阅号丰台建设企业网站