好长时间没有用windows写过东西了,突然发现这个函数有点陌生了,在网上查了下,希望以后不要忘记啊!
{%>_<%最近的记性是越来越差了啊!}
wsprintf
函数作用:函数wsprintf()将一系列的字符和数值输入到缓冲区。
输出缓冲区里的的值取决于格式说明符(即"%")。
如果写入的是文字,此函数给写入的文字的末尾追加一个'\0'。
函数的返回值是写入的长度,但不包括最后的'\0'。
语法:
int wsprintf(
LPTSTRlpOut, // 输出缓冲区,最大为1024字节
LPCTSTRlpFmt, // 格式字符串
...) // 需输出的参数;
;多少个参数都可以的
不过如果缓冲区和写进缓冲区的数据类型一样,可以不使用格式字符串。例: char* a=new char;
char* b="abcd";
wsprintf(a,b);
cout<<a<<endl;
输出结果为: abcd
我们在接触C语言的时候还接触过一个sprintf()的函数,
用法和wsprintf()基本一样,区别在于:
wsprintf()包含在头文件windows.h中
sprintf()包含在头文件stdio.h中。
wsprintf其实分为 wsprintfA 和 wsprintfW,前者对应 sprintf,后者对应 wsprintf。
wsprintf 有 1024 字符限制,而且不支持浮点数。
所以注意了,该函数不支持浮点数的输入输出
用法
int wsprintf( LPTSTR lpOut, // 输出缓冲区,最大为1024字节
LPCTSTR lpFmt, // 格式字符串 ,
... // 需输出的参数);
使用此函数可将数字转为字符串;
例:int x=6;
LPTSTR szBuffer=new TCHAR[1024];);//定义并申请输入缓冲区空间
wsprintf(szBuffer,“%d“,x);//应用
另外:
MessageBox(NULL,szBuffer,““,MB_OK);
/**********************************************************************
今天我还看了swprintf(wchar_t *buffer, size_t const,const wchar_t *format,[argument]... )
记下来,免得自己又忘了!