printf,sprintf比较常用,vsprintf不常用。
1. 三个函数的声明:
int printf (const char * szFormat, ...); int sprintf (char * szBuffer, const char * szFormat, ...); int vsprintf(char *string, char *format, va_list param);
2. 使用的例子:
printf ("The sum of %i and %i is %i", 5, 3, 5+3) ; char szBuffer [100] ; sprintf (szBuffer, "The sum of %i and %i is %i", 5, 3, 5+3) ; puts (szBuffer) ; int sprintf (char * szBuffer, const char * szFormat, ...) { int iReturn ; va_list pArgs ; va_start (pArgs, szFormat) ; iReturn = vsprintf (szBuffer, szFormat, pArgs) ; va_end (pArgs) ; return iReturn ; }
3. vsprintf的使用
在什么情况下使用vsprintf呢?
当传入参数中有...,且要将...中的参数进行格式化输出时,可以使用vsprintf。例如,在对话框中显示格式化字符串时。
示例代码:
void CTestDlg::ShowMessage(LPCTSTR lpFormat, ...) { LPTSTR lpStr = NULL; char buff[256]; if (lpFormat) { va_list argPtr; va_start(argPtr, lpFormat); vsprintf(buff, lpFormat, argPtr); lpStr = buff; } MessageBox(lpStr); }
调用代码:
void CTestDlg::OnBnClickedButton() { ShowMessage("%d : %s", 1, "Hello World!"); }
printf,sprintf,vsprintf
时间: 2024-10-09 02:16:43