Воскресенье, 17 Ноября 2024, 19:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сравнить две строки
andarkyДата: Понедельник, 27 Сентября 2010, 12:52 | Сообщение # 1
старожил
Сейчас нет на сайте
Братцы! выручайте!
Проблема возможно пустяковая, я просто не разбираюсь в типах на Си.
Их там очень много (в сравнении с Delphi, в котором я хоть чото соображаю)

Вот суть:
вначале дана константа:

Code

const char listenerMethod[] = "exeSays";

здесь, я так понямаю, фиксированный массив символов
далее так:

Code

LPCWSTR    MaFo;
..
MaFo = L"MacromediaMutexOmega";

вот это у меня должно изменятся и сравниваться с вышеупомянутым listenerMethod[]
как так сделать?

В Дельфях это преобразование осуществлялось StrToPChar.
Так Дельфи же не сравнить с мощью Си.

Был бы у меня Borland C++Builder - мне кажется все было бы проще,
а у меня долбаный Microsfoft VS2008 да еще и кастрированный.

И что это за тип LPCWSTR
Зачем там "L" перед кавычками со значением?



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
zadrot_666Дата: Вторник, 28 Сентября 2010, 19:54 | Сообщение # 2
почетный гость
Сейчас нет на сайте
LPCWSTR это тот же const wchar_t*, просто обьявленный через typedef в WINAPI.

typedef const wchar_t* LPCWSTR;

Для того что бы сравнивать массивы символов wchar_t и char, нужно сначало один сконвертировать в другой.

Смотри MultiByteToWideChar\WideCharToMultiByte и wcstombs\mbstowcs в MSDN. (если пользуешься MSVC).
Сравниваются строки функциями StrCmpA\StrCmpW(WINAPI, shlwapi.h\shlwapi.lib), strcmp, wcscmp.

StrCmpA, strcmp для ANSI строк (char)
StrCmpW, wcscmp для Unicode строк (wchar_t).

Добавлено (28.09.2010, 19:51)
---------------------------------------------

Quote (andarky)
Зачем там "L" перед кавычками со значением?

Он говорит о том что строка Unicode'овская.

"Hello World" - ANSI
L"Hello World" - Unicode.

Добавлено (28.09.2010, 19:53)
---------------------------------------------

Quote (andarky)
StrToPChar

Эта функция специфична для Delphi, и совершенно тебе не нужна. Она просто преобразует делфийский тип String в массив char'ов.

Добавлено (28.09.2010, 19:54)
---------------------------------------------

Quote (andarky)
Был бы у меня Borland C++Builder - мне кажется все было бы проще,

В данном случае - нет. Тебе везде было бы сложно, ибо не знаешь элементарных вещей, а уже что то там пишешь для Macromedia...


Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine? © SHODAN.

Сообщение отредактировал zadrot_666 - Вторник, 28 Сентября 2010, 19:56
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг