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!");
    }

        

  • 相关阅读:
    了解java注解
    使用java泛型设计通用方法
    dbutils基本使用
    jquery+ajax+struts2
    c3p0连接数据库的3种方式
    ASP单步调试工具
    设置网页图片不能被用户下载或者另存为
    简单树形菜单
    GBK,GB3212 Unicode编码问题详解
    html页面乱码问题解决方法编码批量转换
  • 原文地址:https://www.cnblogs.com/xiaoyusmile/p/3912185.html
Copyright © 2011-2022 走看看