博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sprintf() 和 sscanf()
阅读量:6530 次
发布时间:2019-06-24

本文共 1436 字,大约阅读时间需要 4 分钟。

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()

转载于:https://blog.51cto.com/2668980/2137257

你可能感兴趣的文章
Android Studio 第六十四期 - Android业务组件化之URL Scheme使用
查看>>
Hyper-V 2016 系列教程41 Windows 10 Hyper-V 系统要求
查看>>
EC2 WordPress 移动目录
查看>>
Windows Server 2008 启用公共文件夹共享
查看>>
【运维故事】职场如何领先一步?
查看>>
如何提高SEO优化团队效率
查看>>
做业务与技术之间的桥梁
查看>>
SFB 项目经验-17-Windows 2012 R2-补丁打到最新-问题-KB2982006
查看>>
用hadoop中的libhdfs和fuse-dfs构建快速云存储
查看>>
不知道自己不知道(Unknown Unknowns)的知识决定了你的发展
查看>>
Apple Watch的非“智能手表”卖点
查看>>
fedora17升级到fedora18
查看>>
单例模式(Singleton)
查看>>
函数指针和指针函数
查看>>
认识配置设置文件(INI与XML)
查看>>
Python的函数参数传递:传值?引用?
查看>>
[转]分享2011年8个最新的jQuery Mobile在线教程
查看>>
android call require api level
查看>>
Mac下android环境搭建
查看>>
创建Visual Studio项目模版向导的几篇参考文章
查看>>