Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Путаница в полученном из EditBox'а массиве. |
Автор: Игорь1024 13.8.2010, 15:59 | ||
В программе которую сейчас пишу в одной из форм нужно ввести время в формате ДД.ЧЧ.ММ. Для этого создал ресурс .rc , в нём создал диалоговое окно. В Main.cpp успешно запустил обработку окна при помощи DialogBox(...); Для начала решил попробовать получить день месяца.
Для начала тестировал переменные на корректность данных. temp0 не всегда корректно. temp1 хранит корректное значение если за ней не следуют другие знаки. Day вообще не получился "корректным". Тестировал при помощи точек отслеживания(все переменные); temp'ы при 1 проходе ==0; Потом при введении нового значения появляется некой число (всегда разное), но при следующем нажатии значение корректно. Если вводишь число большее длины буффера , то выводится полностью содержимое EditBox'а начиная с цифры temp'a. Если вопрос глупый или непонятно обьяснил, то извините - спать сильно хочу и возможно поэтому голова не мыслит. |
Автор: xvr 13.8.2010, 17:52 | ||
Это неправильно. atoi получает на вход строку, а не указатель на отдельно стоящий символ. Сделай так:
|
Автор: Игорь1024 14.8.2010, 01:40 |
Спасибо за совет! Я , честно говоря, в стандартной бибилиотеке несилён. Сейчас с этой функцией разберусь и надеюсь что всё получиться. Не совсем то, но тоже полезно. Выход нашёл - неудобный и некрасивый- в отдельные массивы извлекать дни, часы,минуты и потом приравнивать это к соотвествующим переменным при помощи atoi. |
Автор: xvr 14.8.2010, 08:29 |
Почему 'не совсем то'? По моему так 'совсем то' Это не выход, это удаление гланд автогеном через задницу ![]() Чем вариант с strtol не устраивает? |
Автор: Игорь1024 17.8.2010, 16:19 |
ступил!!! ![]() ![]() млин, там даже по точке можно ориентироваться!!!! Вот я идиот... Извините меня за мой глупый комментарий с "не совсем то..."! |