Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
According to Which functions in the C standard library must always be avoided?, the atoi family of functions is dangerous and should never be used for any purpose. The rationale given in the answer...
#1: Initial revision
Why is atoi dangerous and what should be used instead?
According to [Which functions in the C standard library must always be avoided?](https://software.codidact.com/posts/286187), the `atoi` family of functions is dangerous and should never be used for any purpose. The rationale given in the answer is this: > These have no error handling but invoke undefined behavior whenever errors occur. Completely superfluous functions that can be replaced with the `strtol()` family of functions. `strtol(src, NULL, 10)` is per definition 100% equivalent to atoi except with well-defined error handling. References: ISO 9899:2018 7.22.1.2, MISRA-C:2012 rule 21.7. Where exactly is it said that the functions could invoke undefined behavior and how is the `strtol` (family) guaranteed to be equivalent?