详解sprintf()&sprintf

您所在的位置:网站首页 format参数详解 详解sprintf()&sprintf

详解sprintf()&sprintf

2024-01-20 20:47| 来源: 网络整理| 查看: 265

sprintf

函数功能:把格式化的数据写入某个字符串 

头文件:stdio.h  函数原型:int sprintf( char *buffer, const char *format [, argument] … );  返回值:字符串长度(strlen)

在将各种类型的数据构造成字符串时,sprintf 的功能很强大。sprintf 与printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多.。

printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。 

输出格式控制:

        %% 印出百分比符号,不转换。    %c 整数转成对应的 ASCII 字元。    %d 整数转成十进位。    %f 倍精确度数字转成浮点数。    %o 整数转成八进位。    %s 整数转成字符串。    %x 整数转成小写十六进位。    %X 整数转成大写十六进位。 

示例:

#include #include using namespace std; int main() { char str[20]; char *s1="hello"; char *s2="world"; sprintf(str,"%s %s",s1,s2); printf("%s\n",str); char str_1[20]; int n,a=3,b=5; n=sprintf(str_1,"%d + %d = %d",a,b,a+b);//返回字符个数 printf("[%s] :字符数为%d\n",str_1,n); char str_2[20]; sprintf(str_2,"%x %o abcdefg",123,123);//控制输出字符串的转换为相应的进制数 //分别转换为十六进制和八进制 puts(str_2); sprintf(str_2,"%X %o",123,123);//给数组赋新值 puts(str_2);//仅输出 "7B 173",说明sprintf向字符串str_2写入字符后,尾部自动加了'\0' cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3