|
|||||||
| Windows Vista Forum Discussion, driver support and everything related to Windows Vista |
![]() |
|
|
Thread Tools |
|
|
#1 |
|
DriverHeaven Newbie
Join Date: May 2007
Posts: 1
Rep Power: 0 ![]() |
lstrcmpi() function behave differently on Vista and XP
Hi,
I have written a small programme. Its code is as below. ################################################## ################################################## ########### #include "stdafx.h" #include <tchar.h> #include <Shellapi.h> #include <malloc.h> #include <stdlib.h> int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { TCHAR t3[15]; t3[0] = 65279; // equivalent to 0xFEFF, (in my real application this byte is read from a unicode file // in UTF-16 format and its value is 0xFEFF) t3[1] =_T('a'); t3[2] =_T('b'); t3[3] =_T('c'); t3[4] =_T('d'); t3[5] =_T('e'); t3[6] =_T('\0'); if ((lstrcmpi (t3,_T("abcde"))) == 0) { MessageBox(NULL,_T("two strings are equal"), _T("match result"), MB_OK); } else { MessageBox(NULL,_T("NOT EQUAL"), _T("match result"), MB_OK); } return 1; } ################################################## ################################################## ############ I have build it and made a executable. Not when I run this executable on XP machine(with SP2 installed), it gives messages one.("two strings are equal"). string comparison passes on XP machine. But when I run this application on Vista machine it gives second message.("NOT EQUAL") string comparison fails on Vista machine. Do anybody have any idea, why this is happening....? |
|
|
|
![]() |
| Thread Tools | |
|
|