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;
    };


  • 相关阅读:
    rsync+sersync实现文件同步
    HTTP 响应码
    ipv4和ipv6的区别
    查看linux系统版本信息
    MQ基础知识学习
    自动化测试的框架介绍和选择
    python(目录)
    分布式和集群
    raid 工作模式 raid0 raid1 raid10 raid5
    CentOS Docker安装
  • 原文地址:https://www.cnblogs.com/kex1n/p/2286570.html
Copyright © 2011-2022 走看看