I need a help on one question where I stuck while coding my app in MFC.
I am using CLR i.e Common Language Runtime in my application to integrate c# APIs.
but now I stuck on converting System::String^ to CString.
I am not able to do that.
I am using Following code.
String^ csPass = gcnew String(strPassword.GetBuffer());
array<Byte>^ Value = Encoding::UTF8->GetBytes(csPass);
for (int i = 0; i < Value->Length; i++ )
{
csPass += String::Format( "{0:X2}", Value[ i ] );
}
now I want to convert csPass to CString.
Can any one help me on this.
Thank you in advance.
Consider reading this MSDN thread about string conversions. Also, following discussions may be useful for you:
- Convert CString to std::wstring
- Problem: How to convert CString into const char * in C++ MFC
- Converting String to Cstring in c++
- CString to LPCTSTR conversion
- Conversion of CString to char
- How to convert _bstr_t to CString
With this material you can find out how to do it and even post own solution as an answer
Got My answer. Thanks for your support @Elliot Tereschuk.
I have gone through some references like
and
include header files
#include <msclr/marshal_windows.h>
#include <msclr/marshal.h>
using Library
using namespace msclr::interop;
And finally My source code is.
String^ csPass = gcnew String(strPassword.GetBuffer());
array<Byte>^ Value = Encoding::UTF8->GetBytes(csPass);
for (int i = 0; i < Value->Length; i++ )
{
csPass += String::Format( "{0:X2}", Value[ i ] );
}
marshal_context^ context = gcnew marshal_context();
const char* str = context->marshal_as<const char*>(csPass);
csMyPass.Format(str);
csMypass is a CString type Variable.
Thank you for support.
来源:https://stackoverflow.com/questions/21059950/convert-string-in-c-sharp-to-cstring-in-c-cli