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

这篇博客介绍了在Linux环境中如何使用sprintf函数将整数转换为字符串,作为itoa的替代方法。文章详细阐述了sprintf函数的使用方式,包括其在stdio.h库中的定义和功能,以及在格式化输出时的注意事项,如防止内存重叠。通过示例代码展示了如何使用sprintf将整数写入字符数组,并打印输出。
摘要由CSDN通过智能技术生成

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

其实是有的,请看:sprintf

man sprintf

就会看到如下:

SYNOPSIS

#include

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

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 (‘\0‘)) 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).

20190517193200828300.png

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

char string[32] ;

int number = 0 ;

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

printf("%s\n",string) ;

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值