最近在写有关字符串处理的代码,其中有一部分就需要把printf()格式化输出的内容存储起来,以便对字符串进行后续的处理。比如将数字658,通过格式化输出变成0658。printf("%04d\n",a); 通过这样简单的代码就可以实现了。但如何将printf输出的东西“原封不动的”存储在字符串数组里就是个问题了,尤其是需要将前面补充的0一块保存起来,即将格式化输出的“0658”保存到字符串数组里。
最后历经苦苦寻找终于找到了解决方案,废话不对说直接上代码。
#include <stdio.h>
int main(){
int x = 658;
char str[4];
sprintf(str, "%04d", x);//将格式化输出的数据写入字符串中
printf("%s\n", str); //输出保存的字符串
}
输出结果:
主要就是运用了sprintf这个函数,其功能就是把
把格式化的数据写入某个
字符串
缓冲区
。
头文件#include<stdio.h>