摘要:本文主要向大家介绍了C/C++知识点之sprintf() 和 sscanf(),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了C/C++知识点之sprintf() 和 sscanf(),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
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+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号