|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.04.2011, 17:04 | #1 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
C++ выход за пределы строки (char)
Перевод строки вида $1,234,567,890,123.99 в число (double). Все вроде бы работает правильно, но побороть возможность выхода за пределы массива что-то не получается (т.е. можно ввести, например, 1111111111111111111,1111111 и произойдет что-нибудь нехорошое). В книге написано об использовании setw() в таких случаях, но что-то результата нет. Задание из Лафоре, глава про массивы и строки.
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 20.04.2011 в 17:20. |
20.04.2011, 19:40 | #2 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
setw() это манипулятор вывода, он обрубает только видимые на экране числа.
про проверку ввода: cin.getline(str,20); вот и всё кстати по-поводу перевода - есть же atof() Последний раз редактировалось onewho; 20.04.2011 в 19:54. |
20.04.2011, 19:59 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну я и сделал с помощью atof, или что имелось в виду? Что можно было сразу atof(strm) ?)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
20.04.2011, 20:26 | #4 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
эм... ну да
n = atof(str); |
20.04.2011, 20:27 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вроде пробовал так вначале, но что-то неправильно получалось.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C# - Вывод строки System.Char[] вместо нужного результата | Lastsummer | Помощь студентам | 3 | 02.02.2011 22:55 |
C++ - выход за пределы массива | kefir | Помощь студентам | 5 | 12.06.2010 14:09 |
Перегрузка оператора (принять номер строки и строку char) | delias | Общие вопросы C/C++ | 0 | 06.01.2010 15:40 |
Как определить выход курсора за пределы объекта Image | Дамир | Общие вопросы Delphi | 7 | 29.03.2009 21:59 |
Длина строки в си : char string[255] | Mixasik | Помощь студентам | 1 | 26.11.2008 20:33 |