printf,sprintf,vsprintfprintf,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!"); }
|
|