0

我是 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 的地方,我无法在文件中看到相同的值。

有人可以澄清一下吗?另请解释将BSTR写入文件的方法到底是什么?

编辑:添加代码

4

2 回答 2

0

你什么都不退!!!

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

但是,如果您想转换为其他形式并打印,请看这里

于 2012-10-12T06:21:54.410 回答
-2

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

ofstream outputFile;
outputFile.open(filePath,ios::out);
outputFile << W2A(CString(tempString));
于 2012-10-12T10:27:52.793 回答