Click here to Skip to main content
       

C / C++ / MFC

 
AnswerRe: Check if a character is lowercase and change to uppercase. PinmemberMitchG92_2420-Nov-12 0:56 
AnswerRe: Check if a character is lowercase and change to uppercase. Pinmembersajeesh.c20-Nov-12 17:34 
GeneralRe: Check if a character is lowercase and change to uppercase. PinmvpRichard MacCutchan20-Nov-12 21:31 
QuestionIs it possible to capture an HD video/ to generate videos in HD in C++/VC++/MFC.? Pinmembermbatra3119-Nov-12 22:15 
QuestionProblem with string conversion PinmemberHungryCPPDev19-Nov-12 19:08 
AnswerRe: Problem with string conversion PinmemberJochen Arndt19-Nov-12 21:40 
GeneralRe: Problem with string conversion [modified] PinmemberHungryCPPDev20-Nov-12 18:05 
GeneralRe: Problem with string conversion PinmemberJochen Arndt22-Nov-12 2:52 
Sorry for my late answer. I overlooked your reply.
 
The CStringT class constructors and assignment operators accepting the LPCSTR and LPCWSTR types will convert the string if it does not match (when assigning LPCWSTR to a CStringA object it is converted to ANSI and when assigning LPCSTR to a CStringW object it is converted to Unicode). The conversion is internally performed using WideCharToMultiByte() and MultiByteToWideChar() with code page CP_THREAD_ACP (when using Visual Studio 2003 and later; with older versions or manually set preprocessor definition _CONVERSION_DONT_USE_THREAD_LOCALE, CP_ACP is used). See the ATL/MFC source files cstringt.h and atlconv.h if you are interested in how the conversions are performed.
 
If you are not calling SetThreadLocale() within your app, the thread will use the system locale.
 
If the results from using WideCharToMultiByte() and CStringT constructors are different, you have passed a code page number that differs from the default code page of the used locale.
 
So you may post your settings here or check it yourself:
  • The code page passed to WideCharToMultiByte()
  • The code page used by the CStringT class
To get the code page used by the CStringT class use this code snippet (assuming CP_THREAD_ACP is used):
// Default ANSI code page
int nCP = ::GetACP();
// Returns same as GetSystemDefaultLCID() when SetThreadLocale() has not been called.
LCID nLCID = ::GetThreadLocale();
TCHAR szACP[7];
if (::GetLocaleInfo(nLCID, LOCALE_IDEFAULTANSICODEPAGE, szACP, 7) != 0)
    nCP = _tstoi(szACP);
Now compare nCP with the value passed to WideCharToMultiByte().
 
All these different locales and code pages may be confusing. So I will sum up the settings that may effect your conversions:
  • The system locale including its default ANSI code page
  • The user's locale including its default ANSI code page
  • The thread's locale including its default ANSI code page
  • The code page used by the CStringT class
  • The code page passed to conversion functions in your code

QuestionHow to set the alignment of items of CListCtrl Pinmemberrahul.kulshreshtha19-Nov-12 16:43 
AnswerRe: How to set the alignment of items of CListCtrl PinmvpRichard MacCutchan19-Nov-12 22:50 
GeneralRe: How to set the alignment of items of CListCtrl Pinmemberrahul.kulshreshtha19-Nov-12 23:22 
GeneralRe: How to set the alignment of items of CListCtrl PinmvpRichard MacCutchan20-Nov-12 0:02 
GeneralRe: How to set the alignment of items of CListCtrl Pinmemberrahul.kulshreshtha20-Nov-12 16:30 
GeneralRe: How to set the alignment of items of CListCtrl PinmvpRichard MacCutchan20-Nov-12 21:17 
QuestionLinked Lists and unique_ptr's PinmemberTom Moore19-Nov-12 7:29 
AnswerRe: Linked Lists and unique_ptr's [modified] PinmemberEugen Podsypalnikov19-Nov-12 10:50 
AnswerRe: Linked Lists and unique_ptr's PinmemberChris Meech19-Nov-12 14:04 
Questionencrypt and decrypt Pinmemberthandy mitchell19-Nov-12 6:24 
AnswerRe: encrypt and decrypt PinmvpRichard MacCutchan19-Nov-12 7:59 
AnswerRe: encrypt and decrypt PinmvpCPallini19-Nov-12 11:36 
Questionaccess excel data using c++ Pinmemberlakshmamma19-Nov-12 2:05 
AnswerRe: access excel data using c++ PinmemberFlaviu219-Nov-12 2:14 
AnswerRe: access excel data using c++ PinmvpCPallini19-Nov-12 2:17 
AnswerRe: access excel data using c++ PinmemberJochen Arndt19-Nov-12 2:26 
QuestionScroll window after zoom [modified] PinmemberFlaviu218-Nov-12 22:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web01 | 2.8.141030.1 | Last Updated 31 Oct 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid