首页 > 代码库 > printf,sprintf,vsprintf
printf,sprintf,vsprintf
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!");}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。