http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/

返回值

成功后,函数将转换后的整数作为int值返回.

那么我在atoi("poop")atoi("0")atoi("0000000")之间有什么不同呢

是的,我循环can次,判断所有的零,以防我得到0的结果,但没有更好的方法吗?

Notice: I use ANSI C89

推荐答案

这就是atoi有时被认为不安全的原因之一.改用strtol/strtoul.如果你有,用strtonum.

函数atoi比你想象的更危险.The POSIX standard说:

如果无法表示该值,则行为未定义.

C99标准还规定:

7.20.1

atof、atoi、atol和atoll的功能不需要影响

C++相关问答推荐

是否可以在C中进行D3 D12申请?

有效地计算由一组点构成的等边三角形和等腰三角形的数量

exit(EXIT_FAILURE):Tcl C API类似功能

C中的__attributor__((aligned(4),packed))与 struct 的用法

在#include中使用C宏变量

LONG_DOUBLE_T是否存在(标准C:C23)

在列表中插入Int指针(C)

对于C中给定数组中的每个查询,如何正确编码以输出给定索引范围(1到N)中所有数字的总和?

错误Cygwin_Except::Open_stackdupfile:正在转储堆栈跟踪是什么?

在创建动态泛型数组时,通过realloc对故障进行分段

用C++实现余弦函数

从TCP连接启动UDP(C套接字)

I2C外设在单次交易后出现故障

如何读取文件并将内容保存在字符串中?(在C语言中,没有崩溃或核心转储错误)

如何在VS 2022中正确安装额外的C头文件

C将数组传递给函数以修改数组

用C++构建和使用DLL的困惑

Malloc和对齐

在我的函数中实现va_arg的问题

为什么程序在打印每个数字之前要等待所有输入?