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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.96
Bars911
0 / 0 / 0
Регистрация: 15.07.2011
Сообщений: 6
#1

Аналог atoi в С++ - C++

15.07.2011, 21:52. Просмотров 7952. Ответов 22
Метки нет (Все метки)

Вопрос возможно глупый, но если кто просветит меня буду очень благодарен))
как в С++ реализован перевод символьной строки(char или string) в int?
только начал изучать С++, знаю что в С за это отвечает atoi,
а вот в С++ ненашел(((
задача просто поставленна так, что использовать функции и библиотеки из С или STL C++ нежелательно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2011, 21:52     Аналог atoi в С++
Посмотрите здесь:

atoi() - C++
программа элементарная - надо считать строку "x=int1+int2" где int1 и int2 не известные зарание значения int; надо вывести int1+int2; не...

atoi - C++
short x char chm; ...цикл, присваиваем chm значение... x = atoi (chm); if ( x < 32768) { cout <<...

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

функция atoi - C++
Функции атои по идее должна превращать строку в число, но почему то я не могу заставить ее работать коректно, в чем ошибка? #include...

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

atoi не работает! - C++
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; int main(){ int K, N, t1_1, t2_2; int p; ...

Результат atoi - C++
привет необходимо написать функцию, позволяющую проверить является ли содержимое строки, содержащей только цифры и/или знак + или - на...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.07.2011, 23:31     Аналог atoi в С++ #16
Да да, она есть, но странно почему компилятор ее не видит.
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
16.07.2011, 00:11     Аналог atoi в С++ #17
А да, в MinGW попробовал (у меня 4.5.2) тоже что-то дурит. А в линуксе вот нормально всё.

Добавлено через 35 минут
Вот она, настоящая причина:
Код
D:\Temp\test\p>gcc -x c++ -std=c++0x -E -dU stoi.cpp | find "BROKEN"
#define _GLIBCXX_HAVE_BROKEN_VSWPRINTF 1
Добавлено через 1 минуту
Bash
1
2
home /tmp $ gcc -x c++ -std=c++0x -E -dU stoi.cpp | grep BROKEN
#undef _GLIBCXX_HAVE_BROKEN_VSWPRINTF
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.07.2011, 00:16     Аналог atoi в С++ #18
Пользуйте boost::lexical_cast - проще и функционалнее.
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,506
16.07.2011, 05:14     Аналог atoi в С++ #19
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstdio>
#include <string>
 
int main(){
    std::string str("123");
    int i;
    sscanf(str.c_str(), "%d", &i);
    std::cout << i << std::endl;
    return 0;
}
гы
Bars911
0 / 0 / 0
Регистрация: 15.07.2011
Сообщений: 6
16.07.2011, 14:50  [ТС]     Аналог atoi в С++ #20
Спасибо всем отозвавшимся))))
diagon, твой вариант:

C++
1
2
3
4
5
6
1  size_t _atoi(const char * str){
2  size_t res = 0;
3   for (; *str; res += *str++ - '0')
4      res *= 10;
5   return res;
}

пожалуй для меня наиболее оптималный,
вопрос только, это хэадер cstring или cstdlib?
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.07.2011, 15:30     Аналог atoi в С++ #21
Bars911, тут вообще никакого хидера не надо, ни одной библиотечной функции не используется, только конструкции языка.
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.07.2011, 15:53     Аналог atoi в С++ #22
silent_1991, разве что <cstddef> (<stddef.h>) подключить, там std::size_t (size_t) определен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2011, 15:55     Аналог atoi в С++
Еще ссылки по теме:

unsigned itoa and atoi - C++
Всем привет! Подскажите мне кто знает функцию для реализации следующей задачи! Допустим есть текст, мне необходимо записать в матрицу...

Как работает atoi - C++
Почему bi==22 ??? #include&lt;iostream&gt; #include&lt;cstring&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; using namespace std; char*...

Не работает функция atoi - C++
Здравствуйте! Прошу помочь. Даю код программы, что не так с функцией atoi ? Программа рисует кривую Гильберта, i - порядок кривой, мне...

Функции atoi и atof - C++
Здравствуйте, пишу парсер для файла определенного формата (фактически лексический и синтаксический анализаторы), так вот среди данных...

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


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.07.2011, 15:55     Аналог atoi в С++ #23
CyBOSSeR, да, постоянно забываю, что такое иногда нужно. И gcc, и cl, к которым я привык, его так понимают.
Yandex
Объявления
16.07.2011, 15:55     Аналог atoi в С++
Ответ Создать тему
Опции темы

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