Question

I am a kind of new for c++ , while working on the windows CE .net compact application

while trying to write hexa datas to a file

CString dataBlock1;
dataBlock1 = "";

CString temp;
for(int i = 0; i < rLen; i++)
{
temp.Format(L"%02X ",rec[i]);
dataBlock1 += temp;

}

std::ofstream out(file);

I am getting this error can not convert parameter 1 from wchar * to const char* on while using the below write function to write hexa datas to a file

out.write(myReader.dataBlock1.GetBuffer(),myReader.dataBlock1.GetLength());

how can we convert wchar_* to const char* to make the write function work.

Thanks.

Was it helpful?

Solution

You can use the wcstombs function, reference here.

OTHER TIPS

Windows has a set of classes and functions that take wchar_t, which is text stored as UTF-16, and char, which is text stored in your ANSI character set. If you have pointer to wchar_t you either need to use an appropriate class or function that accepts wchar_t, or you need to convert the data to your ANSI character set.

In this case, you want the wchar_t variant of ofstream, wofstream.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top