Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


How to convert a CString variable to char* or LPTSTR?

Answers were Sorted based on User's Feedback



How to convert a CString variable to char* or LPTSTR?..

Answer / manoj

GetBuffer

Is This Answer Correct ?    8 Yes 2 No

How to convert a CString variable to char* or LPTSTR?..

Answer / jones

there are two ways
I) Use CString::GetBuffer(). It can be used in a manner
similar to this:
// prototype of a function that takes a LPTSTR parameter
// presented for argument's sake.
void test_func ( LPTSTR lpszString, int length );

CString string;
test_func ( string.GetBuffer ( 50 ), 50 );
string.ReleaseBuffer ( );
Forgetting to call CString::ReleaseBuffer() can cause
problems very difficult to debug as it releases the lock on
CString's inner buffer.
One thing to keep in mind about CString::GetBuffer() is
that it returns a TCHAR* value (or LPTSTR, it's the same),
so it is subject to the same ANSI/MBCS Vs. UNICODE
convertions as most other Win32 APIs. It also means that if
you're compiling a unicode version of your application, and
specifically need a char* from your CString instance,
you'll have to use a separate buffer of the appropriate
type, and then make the convertion to unicode using one of
the available API's before asigning it's value to the
CString instance. The same goes if you're doing the exact
opposite: getting a WCHAR* out of a CString, while
compiling in MBCS mode.
ii) Use a temporary variable. For example:

char temp[256];
CString string;

test_func ( temp, 256 );
string = temp;

Is This Answer Correct ?    7 Yes 1 No

How to convert a CString variable to char* or LPTSTR?..

Answer / prajeesh prabhakar

char* pString = reinterpret_cast<LPSTR>(
csString.GetBuffer( csString.GetLength()));
csString.ReleaseBuffer();

Is This Answer Correct ?    1 Yes 0 No

How to convert a CString variable to char* or LPTSTR?..

Answer / ratnesh sachan

We can convert a CString variable to char* or LPTSTR by
using the GetBuffer.

Example
// example for CString::GetBuffer
CString s( "abcd" );
#ifdef _DEBUG
afxDump << "CString s " << s << "\n";
#endif
char *pStr;
pStr = s.GetBuffer( 10 );
strcpy( pStr, "Hello" ); // directly access CString buffer
s.ReleaseBuffer( );
#ifdef _DEBUG
afxDump << "CString s " << s << "\n";
#endif

Is This Answer Correct ?    3 Yes 3 No

How to convert a CString variable to char* or LPTSTR?..

Answer / billy howell

Use the _stprintf_s function. It's much simpler.

Is This Answer Correct ?    1 Yes 1 No

Post New Answer

More MFC Interview Questions

i have created runtime menu -- ( admistrator ->managepackage,manage module). but now i want to open a dialog when i select manage package and any other diaolg when selecting manage module ( whole selection is at run time only ) . Please HELP .its urgently required

3 Answers   Patni,


1)how to Display the File Dialog Box, in MFC ?

1 Answers  


how many types of classes are ther,what are that

7 Answers   L&T,


what is message Testing ?

1 Answers   L&T,


What are the types of button controls?

10 Answers  


what is the use of Mutex and critical section

2 Answers  


What four types of properties are supported by an ActiveX control?

1 Answers  


General purpose classes in MFC

1 Answers   TCS,


How do I create a dialog box in mfc?

0 Answers  


1.Get string1,string2,string3 1.add string1 and 2,string1 and 3. 2.replace vowels with T 3.count number of T. 4.remove T 5.COPY string1 to stringf. 6.restore string1. print the following 1.Number of T 2.StringF 3.string1+string2+string3 Use pointers and functions

1 Answers  


Why Array Index starts from Zero

30 Answers   HCL,


What is thread & process?

15 Answers   Exaband,


Categories