C语言sprintf怎么使用?
2个回答
2013-09-10
展开全部
sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。
如:
//把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
可以指定宽度,不足的左边补空格:
sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
当然也可以左对齐:
sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
也可以按照16 进制打印:
sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐
如:
//把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
可以指定宽度,不足的左边补空格:
sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
当然也可以左对齐:
sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
也可以按照16 进制打印:
sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐
2013-09-10
展开全部
可以这么考虑!函数功能: 把格式化的数据写入某个字符串
头文件: stdio.h函数原型: intsprintf(char*buffer,constchar*format,[argument]…);参数列表: buffer:char型指针,指向欲写入的字符串地址。
format:char型指针,指向的内存里面存放了格式字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)
相关函数: intsprintf_s(char*buffer,size_tsizeOfBuffer,constchar*format,[argument]...);
int_sprintf_s_l(char*buffer,size_tsizeOfBuffer,constchar*format,locale_tlocale,[argument]...);
intswprintf_s(wchar_t*buffer,size_tsizeOfBuffer,constwchar_t*format,[argument]...);
int_swprintf_s_l(wchar_t*buffer,size_tsizeOfBuffer,constwchar_t*format,locale_tlocale,[argument]…);
template
intsprintf_s(char(&buffer)[size],constchar*format,[argument]...);//仅存在于C++
template
intswprintf_s(wchar_t(&buffer)[size],constwchar_t*format,[argument]...);//仅存在于C++
编辑本段参数说明及应用举例 sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
若想输出`%'本身时,请这样`%%'处理。
1.处理字符方向。负号时表示从后向前处理。
2.填空字元。0的话表示空格填0;空格是内定值,表示空格就放着。
3.字符总宽度。为最小宽度。
4.精确度。指在小数点后的浮点数位数。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
%%印出百分比符号,不转换。
%c整数转成对应的ASCII字元。
%d整数转成十进位。
%f倍精确度数字转成浮点数。
%o整数转成八进位。
%s整数转成字符串。
%x整数转成小写十六进位。
%X整数转成大写十六进位。
头文件: stdio.h函数原型: intsprintf(char*buffer,constchar*format,[argument]…);参数列表: buffer:char型指针,指向欲写入的字符串地址。
format:char型指针,指向的内存里面存放了格式字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)
相关函数: intsprintf_s(char*buffer,size_tsizeOfBuffer,constchar*format,[argument]...);
int_sprintf_s_l(char*buffer,size_tsizeOfBuffer,constchar*format,locale_tlocale,[argument]...);
intswprintf_s(wchar_t*buffer,size_tsizeOfBuffer,constwchar_t*format,[argument]...);
int_swprintf_s_l(wchar_t*buffer,size_tsizeOfBuffer,constwchar_t*format,locale_tlocale,[argument]…);
template
intsprintf_s(char(&buffer)[size],constchar*format,[argument]...);//仅存在于C++
template
intswprintf_s(wchar_t(&buffer)[size],constwchar_t*format,[argument]...);//仅存在于C++
编辑本段参数说明及应用举例 sprintf格式的规格如下所示。[]中的部分是可选的。
%[指定参数][标识符][宽度][.精度]指示符
若想输出`%'本身时,请这样`%%'处理。
1.处理字符方向。负号时表示从后向前处理。
2.填空字元。0的话表示空格填0;空格是内定值,表示空格就放着。
3.字符总宽度。为最小宽度。
4.精确度。指在小数点后的浮点数位数。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
%%印出百分比符号,不转换。
%c整数转成对应的ASCII字元。
%d整数转成十进位。
%f倍精确度数字转成浮点数。
%o整数转成八进位。
%s整数转成字符串。
%x整数转成小写十六进位。
%X整数转成大写十六进位。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询