|
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245
|
||||||
Исправить std::stoi07.06.2017, 20:23. Показов 15513. Ответов 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 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|