在c++中我想把PWSTR objectIDArray[NUM_OBJECTS_TO_REQUEST]中内容写到一个txt文档中。在debug的时候,我看到objectIDArray[NUM_OBJECTS_TO_REQUEST]中的内容是如下的:
我想写出来的内容是“o355”,"o356",他们是文件的唯一标示符。
由于某些原因没能使用CString去处理。所以用了一个笨方法去处理。
objectIDArray是wchar_t*类型的值。
我想把wchar_t*转换成char类型的值,这样就能输出来了(不转换的话,输出了不是我所想要的值)
wchar_t* a =objectIDArray[index];
size_t origsize = wcslen(a) + 1;
const size_t newsize = 100;
size_t convertedChars = 0;
char nstring[newsize];
wcstombs_s(&convertedChars, nstring, origsize, a, _TRUNCATE);
strcat_s(nstring, "\n");
在c++中将nstring写出来,写了下面这个方法。
std::ofstream in;
in.open(FilePath1,std::ios::trunc);
in<<nstring;
in.close();
我感觉最折磨人的就是怎么把PWSTR类型转化到我们所想要的类型。
我找的的比较有用的资料网址如下:
http://blog.163.com/yanyi_al/blog/static/14260520108162488345/