char and int Convert

本文详细介绍了C语言中用于字符串与整数相互转换的函数,包括atoi、_wtoi等从字符串转换为整数的函数,以及_itoa_s、_i64toa_s等将整数转换为字符串的函数。解释了这些函数的参数意义、返回值及可能产生的错误情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int atoi(
   
const char *str 
);
int _wtoi(
   
const wchar_t *str 
);
int _atoi_l(
   
const char *str,
   _locale_t locale
);
int _wtoi_l(
   
const wchar_t *str,
   _locale_t locale
);
Parameters
str                                                     String to be converted. locale                                                Locale to use.

Return Value

Each function returns the int value produced by interpreting the input characters as a number. The return value is 0 for atoi and _wtoi, if the input cannot be converted to a value of that type.

In Visual C++ 2005, in the case of overflow with large negative integral values, LONG_MIN is returned. atoi and _wtoi return INT_MAX and INT_MIN on these conditions. In all out-of-range cases, errno is set to ERANGE. If the parameter passed in is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, these functions set errno to EINVAL and return 0.

errno_t _itoa_s(
   
int value,
   
char *buffer,
   size_t sizeInCharacters,
   
int radix 
);
errno_t _i64toa_s(
   __int64 value,
   
char *buffer,
   size_t sizeInCharacters,
   
int radix 
);
errno_t _ui64toa_s(
   unsigned _int64 value,
   
char *buffer,
   size_t sizeInCharacters,
   
int radix 
);
errno_t _itow_s(
   
int value,
   wchar_t 
*buffer,
   size_t sizeInCharacters,
   
int radix 
);
errno_t _i64tow_s(
   __int64 value,
   wchar_t 
*buffer,
   size_t sizeInCharacters,
   
int radix 
);
errno_t _ui64tow_s(
   unsigned __int64 value,
   wchar_t 
*buffer,
   size_t sizeInCharacters,
   
int radix 
);
template 
<size_t size>
errno_t _itoa_s(
   
int value,
   
char (&buffer)[size],
   
int radix 
); 
// C++ only
template <size_t size>
errno_t _itow_s(
   
int value,
   wchar_t (
&buffer)[size],
   
int radix 
); 
// C++ only
Parameters
[in] value                                       Number to be converted. [out] buffer                                    Filled with the result of the conversion. [in] sizeInCharacters                 Size of the buffer in single-byte characters or wide characters. [in] radix                                        Base of value; which must be in the range 2–36.

Return Value

Zero if successful; an error code on failure. If any of the following conditions applies, the function invokes an invalid parameter handler, as described in Parameter Validation.

Security Issues

These functions can generate an access violation if buffer does not point to valid memory and is not NULL, or if the length of the buffer is not long enough to hold the result string.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值