• linux 下把整数转化为字符串


    把字符串转化为整数,atoi 想必这个大家哦度知道,但是linux下没有itoa

    其实是有的,请看:sprintf

    man sprintf

    就会看到如下:

    SYNOPSIS
    #include <stdio.h>

    int printf(const char *format, ...);
    int fprintf(FILE *stream, const char *format, ...);
    int sprintf(char *str, const char *format, ...);
    int snprintf(char *str, size_t size, const char *format, ...);

    #include <stdarg.h>

    int vprintf(const char *format, va_list ap);
    int vfprintf(FILE *stream, const char *format, va_list ap);
    int vsprintf(char *str, const char *format, va_list ap);
    int vsnprintf(char *str, size_t size, const char *format, va_list ap);

    Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

    snprintf(), vsnprintf():
    _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
    _POSIX_C_SOURCE >= 200112L;
    or cc -std=c99

    DESCRIPTION
    The functions in the printf() family produce output according to a format as described
    below. The functions printf() and vprintf() write output to stdout, the standard out‐
    put stream; fprintf() and vfprintf() write output to the given output stream;
    sprintf(), snprintf(), vsprintf() and vsnprintf() write to the character string str.

    The functions snprintf() and vsnprintf() write at most size bytes (including the termi‐
    nating null byte ('')) to str.

    The functions vprintf(), vfprintf(), vsprintf(), vsnprintf() are equivalent to the
    functions printf(), fprintf(), sprintf(), snprintf(), respectively, except that they
    are called with a va_list instead of a variable number of arguments. These functions
    do not call the va_end macro. Because they invoke the va_arg macro, the value of ap is
    undefined after the call. See stdarg(3).

    These eight functions write the output under the control of a format string that speci‐
    fies how subsequent arguments (or arguments accessed via the variable-length argument
    facilities of stdarg(3)) are converted for output.

    C99 and POSIX.1-2001 specify that the results are undefined if a call to sprintf(),
    snprintf(), vsprintf(), or vsnprintf() would cause copying to take place between
    objects that overlap (e.g., if the target string array and one of the supplied input
    arguments refer to the same buffer). See NOTES.

    Return value
    Upon successful return, these functions return the number of characters printed
    (excluding the null byte used to end output to strings).

    到这里一目了然,返回的是整数

    char string[32] ;

    int number = 0 ;

    sprintf(string,"%d",number) ;

    printf("%s ",string) ;

  • 相关阅读:
    int func(int aa[4]) { return sizeof(aa);}
    C语言中的undefined behavior系列(3) trap representation
    面试被轮及访博客园三人组蹭饭记 20100910
    关于带新人和作新人。
    [C++]Call virtual member function in constructor or destructor
    The using declaration in C++
    WF & WCF(5)
    sqlserver 常用函數
    WF & WCF(4)
    oracle 三種集合類型比較(indexby表,嵌套表,數組)
  • 原文地址:https://www.cnblogs.com/ChenChangXiong/p/10883061.html
Copyright © 2020-2023  润新知