【五分钟速学】快速掌握实用函数sprintf and sscanf
目录
一、sprintf
二、sscanf
一、sprintf
(1)问:这个函数有什么用?
答:常用用法为将想要的结果按照对应格式输出到指定的标准字符串中
(2)问:这个函数怎么用?
函数原型:int sprintf(char *buffer, const char *format, [argument]...)
第二参数含义:在程序中想要的格式
第三参数含义:任意类型的数据
(3)问:有没有简单举例?
#include using namespace std;int main(){char s[1000]={0};sprintf(s,"%x",123);//将123按照16进制格式打到s中 cout<<s;return 0; }
输出框:
7b
(4)问:这个函数怎么快速记忆?
答:跟printf对比记忆
(5)问:有没有对应题目帮助加强理解
注意:这里不会详细解决这道题目,只是提供一种方便的方法!!!
sprintf(s,"%x",n);//将n打印进s,然后对s字符数组枚举处理
二、sscanf
(1)问:这个函数有什么用?
答:从一段长信息中提取出自己想要的信息
(2)问:这个函数怎么用?
函数原型:int sscanf(const char *str, const char *format,......);
第一参数含义:要提取的目标字符串
第二参数含义:提取出来的数据的格式
第三参数含义:放到哪些变量里
(3)问:有没有简单举例?
sscanf("2020-11-15","%d-%d-%d",&year,&month,&day);
(4)问:这个函数怎么快速记忆?
跟scanf对比记忆
(5)问:有没有对应题目帮助加强理解
注意:这里并不是解决这道问题,只是提供一种方便的方法!!!
(题目出自第九届蓝桥杯A组省赛题目-航班时间
int h1,m1,s1,h2,m2,s2,d;//起始时间的时分秒,d为+0或+1或+2//从字符串中二次读取出对应的数据sscanf(line.c_str(),"%d:%d:%d %d:%d:%d (+%d)",&h1,&m1,&s1,&h2,&m2,&s2,&d);