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

原文地址:https://www.cnblogs.com/ChenChangXiong/p/10883061.html