LPSTR и Текст в дефайне
От: ixtorio  
Дата: 30.06.16 00:49
Оценка:
создал дефайны вида
#define STR1 TEXT("String 1")
#define STR2 TEXT("String 2")


передаю их в функцию которая принимает LPCSTR !!!

lpText = (LPSTR)GetStr(STR1, FALSE);

PVOID GetStr(LPSTR lpStr, BOOL bStatus)
код функции большой поэтому кидат не буду

но в процессе исполнения уже даже после трех строк кода студия пишет внизу в окошке что переменные:
lpcStr равна 0x00000000 (почему адрес обнулился) далее по коду там написанно 0x6C2C200F <Error reading characters of string>
bStatus равна 7558848 (?это что такое)
то адресc меняется то переменная мусором забивается короче немогу получить к ней доступ
мне нужно проверить если она такаяже как я передал я проыверяю так:


if (StrNCmp(lpStr, STR1, lstrlen(STR1)) == NULL && bStatus != FALSE)
{

}

и оно всегда незаходит в IF
важно что я хочу использовать именно LPSTR BOOL PVOID и по возможности работать с #define
вместо char char* bool void*

вот код из либ студии
//
// ANSI (Multi-byte Character) types
//
typedef CHAR *PCHAR, *LPCH, *PCH;
typedef CONST CHAR *LPCCH, *PCCH;

typedef _Null_terminated_ CHAR *NPSTR, *LPSTR, *PSTR;
typedef _Null_terminated_ PSTR *PZPSTR;
typedef _Null_terminated_ CONST PSTR *PCZPSTR;
typedef _Null_terminated_ CONST CHAR *LPCSTR, *PCSTR;
typedef _Null_terminated_ PCSTR *PZPCSTR;
typedef _Null_terminated_ CONST PCSTR *PCZPCSTR;

typedef _NullNull_terminated_ CHAR *PZZSTR;
typedef _NullNull_terminated_ CONST CHAR *PCZZSTR;

typedef  CHAR *PNZCH;
typedef  CONST CHAR *PCNZCH;
Отредактировано 30.06.2016 1:12 ixtorio . Предыдущая версия . Еще …
Отредактировано 30.06.2016 1:11 ixtorio . Предыдущая версия .
Отредактировано 30.06.2016 1:02 ixtorio . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.