-
May 16th, 2012, 07:27 PM
#1
[RESOLVED] String to Char *
Hi group,
Apologies, I am not a C++ programmer and do not understand the intricacies of pointers!
I have a vb.net project (vb2005) which needs to call a C++ class module which I have added to the project. The C++ module accepts as input a char * variable, which has no equivalent in vb. On the vb side the variable is a string. I have successfully added and tested simple C++ calls and they all work fine, but I cannot get this to work, best I can do is to get vb to think its of type SByte.
I'm told that in .Net all data types are compatible at some level. I need to somehow represent a string as char * in vb, or a char pointer as string in C++, but don't know how to do it or the best way to go about it.
Basically I need to modify the C++ code to accept a string in the Public method and then internally to convert it to a char pointer, but don't know how to do it, not even sure what the string equivalent in C++ is.
Thanks in advance...
-
May 16th, 2012, 09:38 PM
#2
Re: String to Char *
You can convert string to LPTSTR (or TCHAR) using LPCSTR operator:
Code:
CString csTest(_T("Testt String"));
LPTSTR lpszBuff = (LPTSTR)(LPCTSTR)csTest;
TCHAR* pszBuff = (LPTSTR)(LPCTSTR)csTest;
But I think it will be more feasible to pass BSTR (_bstr_t) or VARIANT (_variant_t)
Code snippet uses generic text mapping working for both: UNICODE and ASCII.
There are only 10 types of people in the world:
Those who understand binary and those who do not.
-
May 17th, 2012, 02:51 AM
#3
-
May 20th, 2012, 06:12 PM
#4
Re: String to Char *
Thanks very much for both your responses, its cleared it up for me!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|