> 文档中心 > 【五分钟速学】快速掌握实用函数sprintf and sscanf

【五分钟速学】快速掌握实用函数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);

 

医学名词百科