![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Welemir |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 11.8.2009 Репутация: нет Всего: нет |
Ночи доброй.Хоть убей,а не работает.Этот код должен проверять,есть ли среди дочерних окон конкретного родителя нужный мне родитель ) ( Он отмечен в переменной NeededClass).Собственно,не работает сравнение строк,хотя строки идентичны!! Просьба помочь мне:
Знаю,что есть и другие варианты,но интересует именно работоспособность этого,т.к. на нём у меня будет всё завязано...Раз уж столько парился,то хоть причину надо найти. ![]() Среда программирования: Visual Studio Это сообщение отредактировал(а) Welemir - 4.10.2011, 00:57 |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: нет Всего: 106 |
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Конечно жестокое сравнение и ТС необходимо для начала почитать книжки по Си
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Welemir |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 11.8.2009 Репутация: нет Всего: нет |
Вроде понял...не совсем догнал,что за PCHAR они возвращают(какой-то новый тип для указателей на чары),но ведь указатель на строку это PCHAR* тогда(как и char*),а здесь я получаю char[]...А книжки - это да,покупать буду,ибо у нас таких нет...
P.S. Если бы это был УКАЗАТЕЛЬ,то вам не кажется,что его для начала разыменовать надо ?...иначе вывелись бы просто адреса или я чего-то тут не понимаю ? Например:
Если бы я сравнивал адреса,то они бы отличались. Это сообщение отредактировал(а) Welemir - 4.10.2011, 16:45 |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
В твоём примере компилятор соптимизировал: объединил две строки "hi" в одну. Кстати, присваивать строковую константу char* не рекмендуется, например Linux помещает их в сегмент памяти защищённый от записи.
|
|||
|
||||
Welemir |
|
||||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 11.8.2009 Репутация: нет Всего: нет |
Спасибо за подсказки,повторил тут указатели _))))) (почему-то я упорно верил,что char* = строка = массив символов).Примерчик облегчил мою жизнь
![]() Но если это указатели,то проверка такого типа должна канать:
Ведь тут сравниваются именно значения,а не указатели на них как в прошлый раз); Кстати,в прототипе указано,что функция принимает указатель LPSTR на буфер.Привёл к LPSTR,ошибка несоответствия типов пропала,но та же пустота.Сравнивая строки,а не разыменованные указатели,всё работает.Ведь работают же проверки такого вида:
Где я теперь ошибся ? Это сообщение отредактировал(а) Welemir - 5.10.2011, 01:19 |
||||
|
|||||
Welemir |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 11.8.2009 Репутация: нет Всего: нет |
||||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
if (*test == *test2) эквивалентно if (test[0] == test2[0]) т.е. сравниваются только первые символы строки Рекомендация относится не только к Linux - но в Linux проще найти ошибку
Это сообщение отредактировал(а) math64 - 5.10.2011, 08:00 |
|||
|
||||
Welemir |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 11.8.2009 Репутация: нет Всего: нет |
мм,вот в чем дело.Теперь ясно почему проверка на этакое *равенство строк* сработала = ).Теперь тему точно можно закрывать.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |