|
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245
|
||||||
Исправить std::stoi07.06.2017, 20:23. Показов 15413. Ответов 26
Метки нет (Все метки)
std::stoi вызывает ошибку если подать неверную строку (не число)
atoi просто 0 вернет если строка не правильная Можно ли как-то исправить std::stoi что бы не вылетала ошибка а возвращало 0 ? Добавлено через 4 минуты нашел std::stoi в <string>
![]() Добавлено через 26 минут не понимаю для чего вызывать ошибки , это же все портит, особенно в агрессивной среде где неизвестно какую строку могут скормить)) ![]() что бы избежать ошибок нужно везде где используется std::stoi добавлять try {} catch {} ?
0
|
||||||
| 07.06.2017, 20:23 | |
|
Ответы с готовыми решениями:
26
All_of и stoi не члены std? Исключение std::stoi при попытке конвертации строки "10.34" в целое число Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream |
|
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245
|
|
| 11.06.2017, 19:03 [ТС] | |
|
Я наверно писал но повторюсь, в коде огромное число мест где пользователь может ввести неверные данные.
Изменять каждую отдельную функцию не вариант. atoi работало корректно и выдавало 0 при неверном вводе. Проблема исправлена заменой stoi на свою функцию без try catch.
0
|
|
|
Модератор
|
|||||||
| 12.06.2017, 10:36 | |||||||
.
1
|
|||||||
|
Модератор
|
||
| 12.06.2017, 10:54 | ||
|
Вам указывают на ошибочность Вашего подхода, прямо и честно говоря, что Ваш способ решения проблемы откровенно плох. Вы упорствуете, стоите на своём - это Ваше право. Форум, как и весь контент, размещённый на нём, Вам не принадлежит (см. правила форума). То, что Вы топикстартер (написали первое сообщение в теме) не даёт Вам никаких эксклюзивных прав. Любой форумчанин имеет полное право высказаться, добавить свои замечания, соображения, если считает, что вопрос не исчерпан. Выбранная Вами линия поведения прямо противоречит правилам форума. Продолжите в том же духе - администрацией форума в отношении Вас будут приняты соответствующие меры. Ведите себя прилично.
0
|
||
|
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245
|
|
| 12.06.2017, 10:56 [ТС] | |
|
Ну скажи как я исправил ошибку? С чего ты взял что решение не верное.
Если у меня все работает без проблем! Еще раз повторюсь, в 7 посте я решил проблему сам, а так как себя нельзя выбрать тем кто решил проблему, выбрал сообщение рядом ![]() Функция stoi мне не подходила т.к пришлось бы в сотне мест менять код на Try-Catch по этому я ее изменил и переименовал в ту которая мне подходит Всё! Проблема была решена в сообщении №7 (еще раз прочитать советую содержимое если не дошло с первого раза) Остальные сообщение после №7 - флуд и спам лишний.
0
|
|
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
||||||
| 12.06.2017, 21:27 | ||||||
Сообщение было отмечено karaulov6 как решение
Решение
делать копию stoi с отличным от std::stoi поведением - плохая затея. а вот сделать свою atoi, которая строку принимает - ну может быть пойдет:
перегрузка вполне себе может пригодится.
0
|
||||||
|
Почетный модератор
|
|||||||
| 12.06.2017, 23:23 | |||||||
Тема почищена
1
|
|||||||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||||||||
| 12.06.2017, 23:37 | ||||||||
0
|
||||||||
| 12.06.2017, 23:37 | |
|
Как исправить ошибку с std::cin Stoi was not declared in this scope Не работает stoi(str1[1]) ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri STL std::set, std::pair, std::make_pair Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|