|
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245
|
||||||
Исправить std::stoi07.06.2017, 20:23. Показов 15516. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|