Форум программистов, компьютерный форум, киберфорум
Наши страницы

Результат atoi - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Комбинаторика, перебор всех сочетаний http://www.cyberforum.ru/cpp-beginners/thread767089.html
Предположим есть массив int ar = {0,0,0,0,0,1,1,1} (содержит 0 либо 1, число единиц(нулей) постоянно для всех полученных сочетаний. Длина каждой полученной комбинации фиксирована и ровна SIZE =...
C++ Ошибка в функции Помогите исправить ошибку мне надо Составить функцию countX, которая, получив c и b через параметры по значению, "а" через глобальную переменную, вычисляет "х" и возвращает его через параметр по... http://www.cyberforum.ru/cpp-beginners/thread767085.html
C++ Определить количество слов, которые содержат ровно четыре буквы "о", "О"
Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно четыре буквы "о". Помогите, вот есть программа, но что то...
Двумерный массив. Сформировать вектор из наименьших значений элементов строк и найти их среднее арифметическое C++
Задав двумерный массив вещественных данных (матрицу А), реализовать его обработку, как указано в варианте. Исходные данные задать самостоятельно, учитывая специфику задачи. В программе должны быть...
C++ Нужен const или нет http://www.cyberforum.ru/cpp-beginners/thread767032.html
Привет. Перегружал оператор= для своего класса. Identificator& Identificator::operator=(const Identificator &_r_oper) { Length = _r_oper.getlen(); Data = new char; strcpy(Data,...
C++ Функция strncat Написать вариант функции strncat(s,t,n), которая копирует не более n букв стринга t в конец стринга s и программу для проверки работоспособности этой функции. подробнее

Показать сообщение отдельно
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824

Результат atoi - C++

20.01.2013, 16:16. Просмотров 399. Ответов 2
Метки (Все метки)

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

То есть нужно сравнить является ли содержимое строки
>= −2 147 483 648
и
<= 2 147 483 647
Так и запихав все это в компилятор программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
bool TenString::isInteger(void) {
    bool result;
    if(toInt(Data))
        result = true;
    else 
        result = false;
    return result;
}
int TenString::toInt(const char *_string) {
    return atoi(_string);
}
 
int main(void) {
    setlocale(LC_ALL, "Russian"); // âêëþ÷èì ðóññêèé. Гў BC Г*ГҐ Г*Г*äî
    TenString A("512431324512123532423");
    TenString B("44232");
    if(A.isInteger())
        cout << "A is integer";
    else
        cout << "A is not intger";
    cout << endl;
    if(B.isInteger())
        cout << "B is integer";
    else
        cout << "B is not intger";
        
    system("PAUSE");
    
    return EXIT_SUCCESS;
}
не заработала.

решил поступить умнее и прочитать F1 по atoi
Return Value
On success, the function returns the converted integral number as an int value.
If no valid conversion could be performed, a zero value is returned.
There is no standard specification on what happens when the converted value would be out of the range of representable values by an int. See strtol for a more robust cross-platform alternative when this is a possibility.
это говорит о том, что мы получим 0, если что-то пойдет не так , и фиг знает что, если выйдем за границы значений типа int. что мы и имеем.
подскажите, как можно выкрутиться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru