Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Число в строку и обратно. 
V
    Опции темы
Хоббит
Дата 4.1.2009, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Как правильно по стандарту c++ преобразовывать числа  в char* и обратно. Знаю есть, itoa, atoi и им подобные, но это еще сишные функции.
И как преобразовывать числа в std::string и обратно?
PM MAIL   Вверх
Dmi3ev
Дата 4.1.2009, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

Знаю есть, itoa, atoi и им подобные, но это еще сишные функции.

И чем они не устраивают??? Есть и другие
http://www.cplusplus.com/reference/clibrary/cstdlib/


--------------------

PM MAIL   Вверх
cutwater
Дата 4.1.2009, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



Собственно itoa в стандартную библиотеку Си не входит, в отличие от atoi, atol, atoll (добавлена в стандарте С99) поэтому использование itoa не есть корректно, если код не заточен под определенный компилятор.

По поводу языка С++ для преобразований std::string to int, etc. пока приходит в голову только использование std::stringstream, и проверку состояния потока на корректность преобразования.

Добавлено через 3 минуты и 36 секунд
ps. функция atoi не сообщает никоим образом об ошибке преобразования, поэтому ее использование небезопасно.
В качестве альтернативы есть функции 

long int strtol(const char *nptr, char **endptr, int base);
long long int strtoll(const char *nptr, char **endptr, int base);

или функции sprintf, sscanf

Это сообщение отредактировал(а) cutwater - 4.1.2009, 20:05


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.