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.

有帮助吗?

解决方案

You can use the wcstombs function, reference here.

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top