Как правильно объявлять itoa в Visual studio 2012?

301
19 декабря 2016, 20:10

При запуске приложения вылетает ошибка:

The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. см. объявление "itoa"....

Как правильно объявлять itoa? Библиотека <stdlib.h> подключена.

Answer 1

Доброго времени суток! Я так понимаю используется MS Visual Studio. Если так, то на мой взгляд у Вас есть 2 пути:

первый - снизить уровень жесткости проверки синтаксиса и используемых функций, что не рекомендуется;

второй - использовать более безопасные по мнению Microsoft функции: (_itoa_s, _i64toa_s, _ui64toa_s, _itow_s, и проч.)

Ссылки:

http://msdn.microsoft.com/en-us/library/ms235327%28v=vs.80%29.aspx

http://msdn.microsoft.com/en-us/library/0we9x30h%28v=vs.80%29.aspx

http://msdn.microsoft.com/en-us/library/ms175759%28v=vs.80%29.aspx

Answer 2

_itoa не нужно объявлять, она уже объявлена в <stdlib.h>

Просто подключить <stdlib.h> и использовать.

Answer 3

Лучше itoa не использовать вообще, делать лучше так:

include <stream> … sstream ss; ss < число которое нужно сконвертить <std::endl; переменная = ss.str();

Прошу не пинать за возможные ошибки, т.к. писал по помяти.

Answer 4

Я не знаю как добавлять коменты. Во первых, аргумент itoa не всегда int, а это неявное преобразование со всеми вытекающими (скорость, точность). Во-вторых второй аргумент itoa – буфер неизвестной длины. Если задать очень большую длину – будет перерасход памяти, а если сильно маленький – результат может не поместиться. И где простота ?

READ ALSO
Как заполнить массив данными из файла

Как заполнить массив данными из файла

Допустим есть файл со следующим содержанием

286
Не получается войти на FTP сервер

Не получается войти на FTP сервер

Здравствуйте! Пытаюсь написать FTP-клиент, столкнулся с трудностьюЧтобы зайти на ftp://87

266