﻿# V2508\. MISRA\. The function with the 'atof/atoi/atol/atoll' name should not be used\.

Диагностическое правило основано на руководстве [MISRA](https://www.misra.org.uk/) \(Motor Industry Software Reliability Association\) по разработке программного обеспечения\.

Анализатор выдаст предупреждение, если обнаружит использование следующих функций: 'atof', 'atoi', 'atol', 'atoll'\.

Неправильное использование этих функций может привести к возникновению неопределённого поведения\. Это может произойти, если аргумент функции не является валидной С\-строкой или если результирующее значение выходит за границы возвращаемого типа\.

Пример кода, на который анализатор выдаст предупреждение:

```cpp
void Foo(const char *str)
{
 int val = atoi(str);
 ....
}
```

Для C анализатор также выдаст предупреждение, если обнаружит определение макроса с одним из соответствующих имён\.