Click here to Skip to main content
15,887,135 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Get Active WIndow Name Pin
«_Superman_»29-Jul-11 3:41
professional«_Superman_»29-Jul-11 3:41 
QuestionTypedef struct help Pin
WebDev.ChrisG28-Jul-11 9:13
WebDev.ChrisG28-Jul-11 9:13 
AnswerRe: Typedef struct help Pin
Richard Andrew x6428-Jul-11 9:20
professionalRichard Andrew x6428-Jul-11 9:20 
GeneralRe: Typedef struct help Pin
WebDev.ChrisG28-Jul-11 9:23
WebDev.ChrisG28-Jul-11 9:23 
GeneralRe: Typedef struct help Pin
Richard Andrew x6428-Jul-11 9:25
professionalRichard Andrew x6428-Jul-11 9:25 
GeneralRe: Typedef struct help Pin
Albert Holguin28-Jul-11 9:43
professionalAlbert Holguin28-Jul-11 9:43 
GeneralRe: Typedef struct help Pin
Albert Holguin28-Jul-11 10:11
professionalAlbert Holguin28-Jul-11 10:11 
QuestionIs CString really based on TCHAR? Pin
Dean Seo27-Jul-11 20:50
Dean Seo27-Jul-11 20:50 
Hi.

I wrote a simiral question before but I feel like I am still confused.

I am compiling in Unicode and I know that in Unicode circumstance CString is allocated with TCHAR as you see below.

typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString;


So obviously CString has nothing to do with LPCTSTR, which is const char *, or any other type, but TCHAR.
However, when I try to do this code below it occurs an error.

CString _str = TEXT("ABCD");
TCHAR* _tstr = _str;


The correct version of the code above should be like this.

CString _str = TEXT("ABCD");
TCHAR* _tstr = (TCHAR*)(LPCTSTR)_str;


There are two type castings, to LPCTSTR and then to TCHAR*, even though CString is defined with TCHAR type.

I'd like to know why this weird conversion happens from the operator overloading's view of CStringT, and CSimpleStringT and also the template structure of all the classes related to CString.

If I am asking too much to answer in a few sentences, any web pages' link that explain this will be appreciated.

Thanks in advance!
AnswerRe: Is CString really based on TCHAR? Pin
Rajesh R Subramanian27-Jul-11 21:05
professionalRajesh R Subramanian27-Jul-11 21:05 
GeneralRe: Is CString really based on TCHAR? Pin
Dean Seo27-Jul-11 21:31
Dean Seo27-Jul-11 21:31 
AnswerRe: Is CString really based on TCHAR? Pin
Rajesh R Subramanian27-Jul-11 21:51
professionalRajesh R Subramanian27-Jul-11 21:51 
GeneralRe: Is CString really based on TCHAR? [modified] Pin
Dean Seo28-Jul-11 19:35
Dean Seo28-Jul-11 19:35 
AnswerRe: Is CString really based on TCHAR? Pin
Rajesh R Subramanian28-Jul-11 20:57
professionalRajesh R Subramanian28-Jul-11 20:57 
GeneralRe: Is CString really based on TCHAR? Pin
Rajesh R Subramanian29-Jul-11 8:16
professionalRajesh R Subramanian29-Jul-11 8:16 
GeneralRe: Is CString really based on TCHAR? Pin
Dean Seo30-Jul-11 20:43
Dean Seo30-Jul-11 20:43 
GeneralRe: Is CString really based on TCHAR? Pin
Rajesh R Subramanian30-Jul-11 22:44
professionalRajesh R Subramanian30-Jul-11 22:44 
Questionbasic C struct newbee question Pin
Member 811717127-Jul-11 9:01
Member 811717127-Jul-11 9:01 
GeneralRe: basic C struct newbee question Pin
David Crow27-Jul-11 10:14
David Crow27-Jul-11 10:14 
GeneralRe: basic C struct newbee question Pin
Member 811717127-Jul-11 10:38
Member 811717127-Jul-11 10:38 
GeneralRe: basic C struct newbee question Pin
David Crow27-Jul-11 10:52
David Crow27-Jul-11 10:52 
GeneralRe: basic C struct newbee question Pin
Albert Holguin27-Jul-11 12:09
professionalAlbert Holguin27-Jul-11 12:09 
GeneralRe: basic C struct newbee question Pin
Maximilien27-Jul-11 13:13
Maximilien27-Jul-11 13:13 
AnswerRe: basic C struct newbee question Pin
Maximilien27-Jul-11 10:21
Maximilien27-Jul-11 10:21 
AnswerRe: basic C struct newbee question Pin
Albert Holguin27-Jul-11 10:26
professionalAlbert Holguin27-Jul-11 10:26 
GeneralRe: basic C struct newbee question Pin
Member 811717127-Jul-11 10:34
Member 811717127-Jul-11 10:34 

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

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