我可以在中看到相同的值 文件 如果tempString=getData();其中函数返回一个BSTR, 我无法在文件中看到相同的值,string,visual-c++,file-io,bstr,String,Visual C++,File Io,Bstr" /> 我可以在中看到相同的值 文件 如果tempString=getData();其中函数返回一个BSTR, 我无法在文件中看到相同的值,string,visual-c++,file-io,bstr,String,Visual C++,File Io,Bstr" />

visualc&x2B+;将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; } 如果tempString=L“TestData”->我可以在中看到相同的值 文件 如果tempString=getData();其中函数返回一个BSTR, 我无法在文件中看到相同的值

visualc&x2B+;将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; } 如果tempString=L“TestData”->我可以在中看到相同的值 文件 如果tempString=getData();其中函数返回一个BSTR, 我无法在文件中看到相同的值,string,visual-c++,file-io,bstr,String,Visual C++,File Io,Bstr,请澄清一下好吗?另外,请解释将BSTR写入文件的具体方法是什么 编辑:添加代码您不会返回任何内容 BSTR getData() { BSTR KBIDValue; IStringCollection *KBID; KBID->get_Item(0,&KBIDValue); return KBIDValue; } 但是,如果您想转换为其他形式并打印,我已在程序中添加了以下代码行,并正确给出了结果 ofstream outputFile; outputFile

请澄清一下好吗?另外,请解释将BSTR写入文件的具体方法是什么


编辑:添加代码

您不会返回任何内容

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

但是,如果您想转换为其他形式并打印,我已在程序中添加了以下代码行,并正确给出了结果

ofstream outputFile;
outputFile.open(filePath,ios::out);
outputFile << W2A(CString(tempString));
流输出文件的
;
open(filePath,ios::out);

输出文件不正确<代码>KBID
未使用任何东西初始化。是的,正如下面的回答中所提到的,函数没有返回。@Ajay您能验证我发布的答案吗?我现在已经添加了代码。事实上,我忘记了退货声明。你能验证我发布的答案吗?如果我使用这些API将BSTR转换为CString并写入文件,会不会有任何数据丢失?您能验证我的答案吗?W2A是什么?这不是答案。