zoukankan      html  css  js  c++  java
  • sprintf的用法

    先来看个程序

    #include <stdio.h>
    void main( void )
    {
        char  buffer[200], s[] = "computer", c = 'l';
        int   i = 35, j = 0;
        float fp = 1.7320534f;
       
        j  = sprintf( buffer, "String:%s/n", s);
        cout<<j<<endl;                  // j = 16
        cout<<buffer<<endl;

        j += sprintf( buffer + j, "Character:%c/n", c);
        cout<<j<<endl;                    // j = 16 + 12 = 28
        cout<<buffer<<endl;
       
        j += sprintf( buffer + j, "/tInteger:%d/n", i);
        cout<<j<<endl;                // j = 28 + 12 = 40 此处%d格式化后占2bytes
        cout<<buffer<<endl;
       
        j += sprintf( buffer + j, "/tReal:%f", fp);
        cout<<j<<endl;               // j = 40 + 14 此处%f格式化后占8bytes                     
       
        printf( "Output:/n%s/ncharacter count = %d/n", buffer, j );
    }


    sprintf, swprintf @import url(MS-ITS:dsmsdn.chm::/html/msdn_ie4.css);

    int sprintf( char *buffer, const char *format [, argument] ... );

    int swprintf( wchar_t *buffer, const wchar_t *format [, argument] ... );

    sprintf, swprintf @import url(MS-ITS:dsmsdn.chm::/html/msdn_ie4.css);

    sprintf returns the number of bytes stored in buffer, not counting the terminating null character. swprintf returns the number of wide characters stored in buffer, not counting the terminating null wide character.

    sprintf, swprintf @import url(MS-ITS:dsmsdn.chm::/html/msdn_ie4.css);

    Parameters

    buffer

    Storage location for output

    format

    Format-control string

    argument

    Optional arguments


    sprintf的返回值是不包括空白终止符的字符个数,但是经过sprintf格式化后,int占2个字节,float占8个字节。。。。

    再看下面程序

    int main()
    {
        char s[]  = "computer";
        cout<<s<<endl;
        cout<<sizeof(s)<<endl;  //9

        char s1[100];
        char* p= "haha";
        int j = sprintf(s1, "/t%s", p);
        cout<<s1<<endl;             //  haha
        cout<<j<<endl;               // 5
       
        return 0;
    };


  • 相关阅读:
    如何使用Dev C++调试(debug)c程序
    C内存对齐详解
    epics commands
    #include <errno.h>
    linux中tail命令
    source env then start eclipse
    c++ constructor with para
    如何访问虚拟机中的架设的Web服务器(解决方法)
    dcss_gui_handler
    atlsoap.h”: No such file or directory
  • 原文地址:https://www.cnblogs.com/kex1n/p/2286570.html
Copyright © 2011-2022 走看看