zoukankan      html  css  js  c++  java
  • [MSDN]sprintf, swprintf

    sprintf, swprintf
    sprintf, swprintf 函数

    Write formatted data to a string.
    往缓冲区中按指定格式输出参数

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

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

    Routine Required Header Compatibility
    sprintf <stdio.h> ANSI, Win 95, Win NT
    swprintf <stdio.h> or <wchar.h> ANSI, Win 95, Win NT

    For additional compatibility information, see Compatibility in the Introduction.

    Libraries

    LIBC.LIB Single thread static library, retail version
    LIBCMT.LIB Multithread static library, retail version
    MSVCRT.LIB Import library for MSVCRT.DLL, retail version

    Return Value
    返回值

    sprintf returns the number of bytes stored in buffer, not counting the terminating null character.
    sprintf 返回 buffer 字符串的存储的字节数,不包括终结符。

    swprintf
    returns the number of wide characters stored in buffer, not counting the terminating null wide character.
    swprintf  返回 buffer 的宽度,不包括

    Parameters

    buffer

    Storage location for output

    format

    Format-control string

    argument

    Optional arguments

    For more information, see Format Specifications.

    Remarks

    The sprintf function formats and stores a series of characters and values in buffer. Each argument (if any) is converted and output according to the corresponding format specification in format. The format consists of ordinary characters and has the same form and function as the format argument for printf. A null character is appended after the last character written. If copying occurs between strings that overlap, the behavior is undefined.

    swprintf is a wide-character version of sprintf; the pointer arguments to swprintf are wide-character strings. Detection of encoding errors in swprintf may differ from that in sprintf. swprintf and fwprintf behave identically except that swprintf writes output to a string rather than to a destination of type FILE.

    Generic-Text Routine Mappings

    TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
    _stprintf sprintf sprintf swprintf

    Example

    /* SPRINTF.C: This program uses sprintf to format various
     * data and place them in the string named buffer.
     */
    
    #include <stdio.h>
    
    void main( void )
    {
       char  buffer[200], s[] = "computer", c = 'l';
       int   i = 35, j;
       float fp = 1.7320534f;
    
       /* Format and print various data: */
       j  = sprintf( buffer,     "\tString:    %s\n", s );   
       // 两个转义字符:2,"String:”:7,"computer":8,再加4个空格:所以一共是:21个字节   j += sprintf( buffer + j, "\tCharacter: %c\n", c );   j += sprintf( buffer + j, "\tInteger:   %d\n", i );   j += sprintf( buffer + j, "\tReal:      %f\n", fp );   printf( "Output:\n%s\ncharacter count = %d\n", buffer, j ); }

    Output

    Output:
       String:    computer
       Character: l
       Integer:   35
       Real:      1.732053
    
    character count = 71
    
    

    Stream I/O Routines

    See Also   _snprintf, fprintf, printf, scanf, sscanf, vprintf Functions


    Send feedback to MSDN. Look here for MSDN Online resources.
  • 相关阅读:
    delphi 线程的使用
    mysql + unidac 使用事务例子
    unidac 执行Execute后取得受影响行数。
    关于UNIDAC连接SQLITE3的心得笔记
    FIREDAC的心得
    unidac连接ORACLE免装客户端驱动
    delphi 2010安装unidac
    DELPHI中使用UNIDAC连接ORACLE数据库
    Struts2思维导图
    面试经验And总结
  • 原文地址:https://www.cnblogs.com/ctoroad/p/395574.html
Copyright © 2011-2022 走看看