2.C语言基础-sprintf函数用法
theme: juejin
highlight: school-book
1.前言
当需要在控制台打印字符串的时候,会用到printf函数,printf会将格式化后的字符串打印在控制台上,如果需要将数字或者其他数据格式化成字符串保存到一个字符串变量中,会调用另一个函数。
2.语法
函数声明为:
string:这是一个指向字符数组的指针,用来存储c字符串format:需要格式化的字符串,它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。format 标签属性是 %[flags][width][.precision][length]specifierargument:根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。返回值:如果成功,则返回写入的字符总数,失败了则返回负数,结束字符‘0’不计入内。即,如果“Hello”被写入空间足够大的string后,函数sprintf 返回5
format指向的字符串从的位置依次覆盖,当format指向的字符串比string小时,string数组中未被覆盖的值将保持,当format指向的字符串比string大时,会报内存错误
例子:
2.1 format指向的字符串比string小
输出结果:
打印为空是因为格式化字符串之后会自动在字符串后面添加,所以我们在使用sprintf函数之前,一定要对string进行memset操作,保证目标字符串被清除干净
2.1 format指向的字符串比string大
结果:在VS2019下报错
加的原因是允许IDE使用这种容易产生漏洞的旧函数
3.具体示例
3.1 格式化整数
将整数打印成字符串保存在string中
指定宽度,设置左右对齐方式
举例:
结果:
3.2 打印浮点数
使用格式符%f时,默认保持小数点后面6位数,如
控制打印的浮点数的宽度和小数位数,格式位其中,,如:
结果:
3.3 字符串连接
使用sprintf可以一次性连接多个字符串,如·
结果:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/96106.html