sprintf 组包 sscanf解包

简介: sprintf 组包 sscanf解包

一:sprintf 组包


void test01()  
{      
int year = 2019;      
int mon = 8;      
int day = 1;        
//需求:将2019 8 1组成 2019年8月1日      
char buf[64]="";      
int len = sprintf(buf,"%d年%d月%d日",year,mon,day);      
printf("len = %d\n", len);      
printf("%s\n", buf);        
//需求:小明:18:男:北京海淀区      
char name[]="小明";      
int age = 18;      
char sex[]="男";      
char addr[] ="北京海淀区";       
char buf2[128]="";      
len = sprintf(buf2,"%s:%d:%s:%s",name,age,sex,addr);      
printf("len = %d\n", len);      
printf("%s\n", buf2);        
//上线:版本号:块编号:主机名:用户名:功能:附加消息        
//使用sprintf将数值 转成 字符串      
char buf3[16]="";      
sprintf(buf3,"%d",128);      
printf("buf3=%s\n", buf3);  }  


20200328211759956.png


二:sscanf 解包


20200328212221881.png


void test01()  
{      
char msg[]="2019年8月2日";      
int year = 0;      
int mon = 0;      
int day = 0;        
//%d只能提取'0'~'9'      
sscanf(msg,"%d年%d月%d日",&year,&mon,&day);      
printf("year = %d\n",year);      
printf("mon = %d\n",mon);      
printf("day = %d\n",day);        
//%c 提取一个字符  %f提取浮点数      
char ch=0;      
sscanf(msg,"%c年", &ch);      
printf("ch = %c\n", ch);        
//%s 提取一个字符串 遇到空格、回车、'\0'就会停止获取      
char str_year[32]="";      
char str_mon[32]="";      
char str_day[32]="";      
//char msg[]="2019年8月2日";      
sscanf(msg,"%s年%s月%s日", str_year, str_mon,str_day );      
printf("str_year =%s\n", str_year);//2019年8月2日      
printf("str_mon =%s\n", str_mon);      
printf("str_day =%s\n", str_day);  }  


20200328212931164.png


案例:sscanf 使用%*s或%*d


20200328213339277.png


20200328213404541.png

目录
打赏
0
0
0
0
1
分享
相关文章
|
10月前
strlen,strcpy,stract,strcmp,strstr函数的模拟实现
strlen,strcpy,stract,strcmp,strstr函数的模拟实现
84 3
深入解析Linux环境下的scanf()、sscanf()和fscanf()函数
在C语言中,`scanf()`、`sscanf()`和`fscanf()`是用于输入的三个常用函数。它们允许开发者从标准输入、字符串和文件中按照指定的格式读取数据。在Linux环境下,这些函数被广泛用于处理各种输入。本文将详细介绍这三个函数的用法,包括格式化字符串的语法和一些常见的使用场景。
923 1
|
10月前
|
字符串函数`strlen`、`strcpy`、`strcmp`、`strstr`、`strcat`的使用以及模拟实现
字符串函数`strlen`、`strcpy`、`strcmp`、`strstr`、`strcat`的使用以及模拟实现
189 1
|
5月前
|
strcpy、sprintf 与 memcpy 的区别
在 C 语言中,`strcpy`、`sprintf` 和 `memcpy` 是三个用于处理内存和字符串的函数,它们有不同的用途和特点
|
5月前
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
86 0
|
9月前
|
【C语言】:浅谈函数 fscanf/sscanf 和 fprintf/sprintf
【C语言】:浅谈函数 fscanf/sscanf 和 fprintf/sprintf
131 1
C实现字符操作函数,strcpy, strcat, strcmp, memcpy
C实现字符操作函数,strcpy, strcat, strcmp, memcpy
72 0
|
10月前
|
sprintf函数
sprintf函数
125 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等