zoukankan      html  css  js  c++  java
  • 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!");
    }

        

  • 相关阅读:
    preflight
    vs调试的时候,加载dll非常慢的解决方法
    chrome blink render engine and the render mechanism
    Cache-control demestified
    IE文档模式和兼容模式
    canvas和SVG分析比较
    打败 IE 的葵花宝典:CSS Bug Table
    vi 编辑器
    JS高级 1
    特效四大家族
  • 原文地址:https://www.cnblogs.com/xiaoyusmile/p/3912185.html
Copyright © 2011-2022 走看看