http://www.delphibbs.com/delphibbs/dispq.asp?lid=1497663var name : string; //人的姓名 age : integer; //人的年龄 str: PChar; begin name :='张三'; age :=23; GetMem(str, 255); wsprintf(str, PChar(Format('%s的年龄是%d岁', [name, age]))); messagebox(0,str,'标题',0); FreeMem(str); end;
name : string; //人的姓名
age : integer; //人的年龄
str: PChar;
begin
name :='张三';
age :=23;
GetMem(str, 255);
wsprintf(str, PChar(Format('%s的年龄是%d岁', [name, age])));
messagebox(0,str,'标题',0);
FreeMem(str);
end;
wsprintf(szInfo, "\nRcv: %s ", pCntKey->InBuffer);szInfo: array [0..100] of char;wsprintf(szInfo, Format('Rcv: %s : %d ', [pCntKey.InBuffer, n]));delphi 的比较麻烦
function mywsprintf(bf:pchar.fmt:pchar): Integer; stdcall; varargs;external 'user32.dll' name 'wsprintfA';
mywsprintf(bf,pchar('%03d %03d'),1,2)
输出格式如:001 002不知道在dehpi中format能做到不
另:wvsprintf怎么用(在vc中)
int n;
char szTmp[20];wsprintf(szBuf, "The #%d Buffer is: ", n, szTmp); 方便多了
不过要记得sprintf,printf,wsprintf等系列函数都可能会出现溢出的情况
void Test(LPSTR lpFmt, ...)
{
char buff[256];
va_list va;
lstrcpy(buff,"Hi: ");
va_start(va, lpFmt);
wvsprintf(&buff[lstrlen(buff)], lpFmt, va);
va_end(va);
lstrcat(buff,"\r\n");
printf(buff);
}call:
Test("Hello %d", 10); OK 我测试过了。。