码迷,mamicode.com
首页 > 其他好文 > 详细

printf,sprintf,vsprintf

时间:2014-08-14 13:42:28      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   for   ar   art   div   

    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,布布扣,bubuko.com

printf,sprintf,vsprintf

标签:style   blog   color   使用   for   ar   art   div   

原文地址:http://www.cnblogs.com/xiaoyusmile/p/3912185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!