sprintf()和sscanf()-创新互联

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

创新互联建站是一家从事企业网站建设、网站建设、做网站、行业门户网站建设、网页设计制作的专业网站设计公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点1000多家。

forex:

#include
#include //为了下文中的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
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 charformat, ...)
返回值类型 sscanf(要读取内容的字符串,格式,.....)

forex:
#include
#include
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()

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:sprintf()和sscanf()-创新互联
网站链接:http://cdiso.cn/article/djecss.html

其他资讯