Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TheSaint
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 14
#1

ошибка в сравнивании - C++

21.09.2012, 20:59. Просмотров 309. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 #ifndef g_WinCaption
 LPTSTR g_WinCaption = new TCHAR[128];
 g_WinCaption = "undefined";
 #endif
 
HWND handle = GetForegroundWindow();
int len = GetWindowTextLength(handle) + 1;
LPTSTR title = new TCHAR[len];
GetWindowText(handle, title, len);
 
if (g_WinCaption == title)
{
 // Do nothing
} else {
  g_WinCaption = title;
}
В процессе исполнения g_WinCaption постоянно не равен title...
хотя если вставить
C++
1
std::cout << g_WinCaption << " != " << title << endl;
он будет возвращать что то вроде
Untitled - Notepad != Untitled - Notepad
где подстава?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2012, 20:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос ошибка в сравнивании (C++):

Борьба с погрешностью при сравнивании double с int - C++
В моей программе происходит много действий с вещественными числами, а потом ответ (тоже вещественное число) сравнивается с целочисленным...

Ошибка сегментирования при сравнивании файлов - C++ Linux
Задача выполеяется ,но невсегда. Выскакивает ошибка сегментирования! нудно задать два каталога и если в одном из них есть ещё один католог...

SQL запрос, ошибка в сравнивании даты - C++ Builder БД
Мне необходимо сравнить даты. При написании вот такого кода, выдают ошибку (ошибка на картинке). void __fastcall...

сравнивании друх строковых переменных - C#
Доброго времени суток!!! У меня возникает проблема при сравнивании друх строковых переменных т.е. переменные одинаковые но выполняется...

Как увеличить скорость запроса при сравнивании - Oracle
Всех приветствую! Проблема такая. У меня имеется 2 таблицы. Мне из 2 таблицы нужно вытащить идентификатор объекта. Чтобы его найти, я...

Запрос выдает исключение DBNull при сравнивании с DateTime - LINQ
Всем доброго времени суток! Есть метод проверяющий отсутствие книги в библиотеке. При сравнении времени выскакивает исключение DBNull...

7
DU
1485 / 1131 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.09.2012, 21:01 #2
подстава в том, что вы сравниваете указатели между собой, а не то, на что они указывают. для сравнения строк есть специальные функции
0
castaway
Эксперт С++
4922 / 3030 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
21.09.2012, 21:01 #3
Ты сравниваешь указатели. Строки сравниваю по другому.
0
TheSaint
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 14
22.09.2012, 19:44  [ТС] #4
Не мог бы кто нибудь дать совет как их сравнить?

Цитата Сообщение от lazybiz Посмотреть сообщение
Строки сравниваю по другому.
Очень хотелось бы увидеть как ты это делаешь, знание что ты это далаешь по другому слабоприменимо...
0
castaway
Эксперт С++
4922 / 3030 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
22.09.2012, 23:56 #5
Цитата Сообщение от TheSaint Посмотреть сообщение
Очень хотелось бы увидеть как ты это делаешь
Хотя бы так: http://www.cplusplus.com/reference/clibrary/cstring/strcmp/
0
TheSaint
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 14
23.09.2012, 19:44  [ТС] #6
C++
1
2
3
4
5
6
7
  char szKey[] = "apple";
  char szInput[] = "orange";
if (strcmp (szKey,szInput) != 0) {
  puts ("Correct!");
  } else {
  puts ("Wrong!");
  }
Result:
Correct!
Correct!
Correct!

P.S. While не вариант...
0
DU
1485 / 1131 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.09.2012, 19:48 #7
strcmp возвращает ноль, если строки равны и не ноль в противном случае. у вас троки не равны. значит в первую ветку ифа заходит и печатает Correct!
0
TheSaint
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 14
25.09.2012, 20:51  [ТС] #8
Ничего не выходит, кто нибудь может показать как вытянуть название активного окна, подождать 30 сек, и проверить изменилось оно или нет...
0
25.09.2012, 20:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2012, 20:51
Привет! Вот еще темы с ответами:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services - C# ASP.NET
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt; ......

1C 8.x Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи! - 1С
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error). - Turbo Pascal
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после успешного создания и чтения вылазиет...

ASP: Response.Redirect - не работает, ошибка `500 - Внутренняя ошибка сервера' - C# ASP.NET
Всем привет! Есть в ASP-сраничке такой код: Response.Redirect 'page1.asp?ReturnTo=page2.asp' Эта конструкция работала на IIS 4,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru