C/C++知识点之sprintf() 和 sscanf()
小标 2019-05-08 来源 : 阅读 1034 评论 0

摘要:本文主要向大家介绍了C/C++知识点之sprintf() 和 sscanf(),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之sprintf() 和 sscanf(),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

C/C++知识点之sprintf() 和 sscanf()

sprintf()函数:将格式化的数据写入字符串
格式:
int   sprintf(char str, char format ,[argument,......]);
返回值类型 sprintf(要写入数据的字符串,格式,[变量............])

forex:

#include <stdio.h>
#include <math.h>//为了下文中的M_PI
int main()
{
char str[20];//定义一个字符数组,长度为20
int a = 0;//定义一个int类型的a,用来存储sprintf()的返回值
a = sprintf(str,""%d"",M_PI);
puts(str);//输出字符串str
printf(""%d\n""a);//输出返回值
return 0;
}

结果为:
3.141593
8

可以看出
【返回值】成功则返回参数str 字符串长度,失败则返回-1,错误原因存于errno 中。

printf(); 和 sprintf(); 比较而言,前者是将格式数据打印在屏幕上,后者是将格式数据打印在字符串中。
printf(""%s,%c,%d"",x,y,z); //将x,y,z 已 逗号隔开的形式 打印在屏幕上。
sprintf(str,""%s,%c,%d"",x,y,z) // 将x,y,z 已逗号隔开的形式 写入数组。
forex:
#include    <stdio.h>
int main()
{
char str[100];
char x[15] = ""input data"";
char y = 'T';
int z = 100;
printf(""%s,%c,%d"",x,y,z);
sprintf(str,""%s,%c,%d"",x,y,z);
puts(str);
return 0;
}

结果为:
   input data,T,100
     input data,T,100

sscanf();函数 从字符串读取格式化输入
格式:
int sscanf(const char str, const char format, ...)
返回值类型  sscanf(要读取内容的字符串,格式,.....)

forex:
#include <stdio.h>
#include <string.h>
int main()
{
int year,day,a;
char month[10],weekday[10],total[100];
strcpy(total,""sunday June 15 2018"");
a = sscanf(total,""%s %s %d %d"",weekday,month,&day,&year);//将total里面的数据从左之后取出来,并存储到相应类型的变量中
//变量使用的是地址,weekday和month使用的是字符数组首地址,day和year由于是int类型,所以需要加上取地址符
printf(""%d\n"",a)//输出返回值
printf(""%s %s %d %d\n"",weekday,month,day,year);
return 0;
}

结果是:
4
sunday June 15 2018

sscanf() 与 sprintf()   类比   scanf() 与 printf()

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程