Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Eliador
12 / 12 / 2
Регистрация: 18.05.2011
Сообщений: 83
#1

Функции atoi и atof - C++

04.08.2011, 08:57. Просмотров 1622. Ответов 4
Метки нет (Все метки)

Здравствуйте, пишу парсер для файла определенного формата (фактически лексический и синтаксический анализаторы), так вот среди данных имеются числовые значения, как целые так и с плавающей точкой. для преобразования этих чисел из строкового представления хочу собственно использовать функции atoi и atof, но еще есть желание сохранить платформо-независимость, т.е. сделать этот парсер кросс-платформенным.

Так вот, являются ли эти две функции (atoi и atof) платформо-независимыми?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2011, 08:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции atoi и atof (C++):

Atoi, atof. - C++
Подскажите пожалуйста, как с помощью функций atoi, atof, проверить, является ли данное число действительным? Добавлено через 21 минуту...

atof и atoi - C++
Помогите пожалуйста, разобратся что такое atof, atoi, как работает, что делает?

Почему если во вторую и третью строку, вводить сперва символы а потом числа. То atoi, atof выводят "0" - C++
#pragma hdstop #include <stdio.h> #include <conio.h> #define eof 26 #define max 1000 #include <stdlib.h> getline(char s, int...

использование функции atof - C++
требуется в качестве параметра на atof подавать не char* а string переменную(из библиотеки <string>) как это делается скажите...

Преобразование char* в double (функции atof и strtod) - C++
Добрый вечер и с праздником!!! Возник вопрос с функциями atof и strtod. А точнее проблемы с округлением (пример: вводим с консоли "0,3" ,...

функции atoi и itoa - C++
у меня есть параметр типа unsigned char* , мне нужно его перевести в тип int, добавить к нему какое-то целое число, напрмиер 10, и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
04.08.2011, 09:56 #2
Могу ошибаться, но являются. Только для си проще sscanf использовать.
Но для плюсов лучше boost::lexical_cast, быстрее работает.
C++
1
2
3
4
5
6
7
#include <iostream>
#include <boost/lexical_cast.hpp>
int main(){
    std::string buf("123");
    int x = boost::lexical_cast<int> (buf);
    std::cout << x;
}
Eliador
12 / 12 / 2
Регистрация: 18.05.2011
Сообщений: 83
04.08.2011, 10:24  [ТС] #3
Спасибо. Раз так буду использовать то что вы предложили, хотя в принципе скорость для меня не так критична, но раз можно увеличить производительность, без каких либо других потерь, используя предложенные вами функции, то конечно буду юзать их.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.08.2011, 10:44 #4
Цитата Сообщение от Eliador
Так вот, являются ли эти две функции (atoi и atof) платформо-независимыми?
они стандартные
при переполнении они не обязаны сообщать об ошибке
если нужно учитывать переполнение, используй strtod() и strtol()
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
04.08.2011, 19:56 #5
accept правильно все говорит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2011, 19:56
Привет! Вот еще темы с ответами:

Как заменить функции strset и atoi? - C++
Пожалуйста без приколов, мне реально интересно.

Функции itoa и atoi: что это такое и с чем их едят? - C++
Доброго времени суток! Помогите пожалуйста разобраться в функциях itoa и atoi. Похожие темки читала, но там не было описания этих...

atof округляет число - C++
Здравствуйте, мне необходимо считать коэффициенты из текстового файла и обработать их, проблема возникла при преобразовании символов в...

Русский шрифт и функция atof() - C++
Привет всем! Подскажите, как правильно в программах на С++ делать вывод русского шрифта в консоль. Я пишу такую строку: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.08.2011, 19:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru