|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
|
BlackSkull |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.6.2016 Репутация: нет Всего: нет |
Приложение должно считывать из файла(.ini) значения width и height. При создании окна использовать эти параметры. Но, при запуске, открывается input.c и указывает на строку:
Как я понимаю, полученное значение(8 байт), превышает допустимый(4 байта). Есть две структуры:
В ConfigStruct, записываются полученные из файла значения. В ConfigResult, я хотел записать преобразованные в int значения.
В WinMain, присвоить значения из структуры ConfigResult, к переменным: ScreenWidth, ScreenHeight.
Подскажите, пожалуйста, как правильно преобразовать значения? Присоединённый файл ( Кол-во скачиваний: 3 ) Test.zip 4,81 Kb |
||||||||
|
|||||||||
vol4ek |
|
|||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
GetPrivateProfileString() потом atoi(S.c_str())
|
|||
|
||||
BlackSkull |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.6.2016 Репутация: нет Всего: нет |
Боюсь, моего скромного уровня знаний не хватит. Как я понял из документации, необходимо написать так:
Пишет: чтение памяти невозможно. RetStr возвращает необходимое значение, но подсвечен красным. Переменные iSW,iSH,cSW,cSH = ??? |
||||
|
|||||
tierswar |
|
|||
Unregistered |
Может быть, в функции "ReadConfig" установить позицию в файле fcf на начало числа "высота", а затем сделать
как-то так
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
tierswar |
|
|||
Unregistered |
насколько я понимаю, тогда "всё само там сделается"
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
vol4ek |
|
|||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
максимальная длинна строки для функции 256 символов. зачем вы юзаете столько памяти для строк которые содержат всего 4 символа. (мониторов с разрешением более 10к не встречал)
|
|||
|
||||
vol4ek |
|
||||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
это какое-то новое извращение, которого я еще не видел.
проверки не забудьте. |
||||
|
|||||
BlackSkull |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.6.2016 Репутация: нет Всего: нет |
Указывает на строку:
В коде:
cSW,cSH - <чтение памяти невозможно> Не понимаю. Может, с переменными(int cSW, cSH) что-то не так? |
||||
|
|||||
vol4ek |
|
|||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
накосячили со структурой
|
|||
|
||||
vol4ek |
|
|||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
сделайте конструктор инициализирующий свойства структуры раз вы запихнули ее в класс
вот тут разобрана ваша проблема Это сообщение отредактировал(а) vol4ek - 21.6.2016, 19:20 |
|||
|
||||
BlackSkull |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.6.2016 Репутация: нет Всего: нет |
Не помогло. Та же ошибка. Может есть другой вариант осуществления задуманного? |
|||
|
||||
vol4ek |
|
||||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
все помогло я собирал ваш проект на работе.
делаете конструктор, а обращаться к переменным так:
|
||||
|
|||||
BlackSkull |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.6.2016 Репутация: нет Всего: нет |
У меня, программа возвращает в ScreenWidth и ScreenHeight = -858993460. Как я понял, считывает не те байты. С конструктором проблема. Я лишь умею создавать таким образом: .h
.cpp
А с конструктором, инициализирующим свойства структуры, впервые сталкиваюсь. Вот, как я написал: .h
.cpp
Я ничего не понимаю. Скажите, пожалуйста, как правильно это написать? P.S. Извините, что надоедаю. |
||||||||||
|
|||||||||||
xvr |
|
||||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Ваш код можно отправлять на соревнование 'как сделать простое действие максимально сложным способом'
Исправьте ReadConfig так:
А еще лучше вообще не вводить ConfigResult - в вашем воплощении он никакой полезной сущности не представляет.
Это сообщение отредактировал(а) xvr - 3.7.2016, 21:29 |
||||||
|
|||||||
BlackSkull |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.6.2016 Репутация: нет Всего: нет |
xvr, спасибо за ответ. Сделал так, как Вы сказали. Все равно, приложение считывает не те байты. Возвращает значение -858993460.
Может, с файлом .ini что то не так или с самим проектом? Ссылка прилагается. Присоединённый файл ( Кол-во скачиваний: 2 ) Test.zip 4,97 Kb |
|||
|
||||
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |