Visual C ++将BSTR写入文件

时间:2012-10-12 06:09:23

标签: string visual-c++ file-io bstr

我是C ++的新手。 我正在尝试将BSTR写入CSV文件,但是当我使用wcout打印时,数据与文件中存在的数据不匹配。

BSTR tempString;
ofstream outputFile;
outputFile.open("C:\\data.csv",ios::out);
tempString = getData();
outputFile.write(tempString);
outputFile.close();

BSTR getData()
{
   BSTR KBIDValue;
   IStringCollection *KBID;
   KBID->get_Item(0,&KBIDValue);
   return KBIDValue;
}
  1. 如果tempString = L“TestData” - >我能够看到相同的价值 文件。
  2. 如果tempString = getData();函数返回BSTR的位置, 我无法在文件中看到相同的值。
  3. 有些人可以澄清一下吗?还请解释将BSTR写入文件的确切方法是什么?

    编辑:添加了代码

2 个答案:

答案 0 :(得分:0)

你没有回来任何东西!!!

BSTR getData()
{
   BSTR KBIDValue;
   IStringCollection *KBID;
   KBID->get_Item(0,&KBIDValue);
   return KBIDValue;
}

但是,如果您想转换为其他形式并打印,look here

答案 1 :(得分:-1)

我在程序中添加了以下代码行并正确地给出了结果。

ofstream outputFile;
outputFile.open(filePath,ios::out);
outputFile << W2A(CString(tempString));