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. If 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 に答える