我有一些由前雇员开发的 C++ 代码。我正在尝试澄清/测试一些软件结果。在中间步骤中,软件会保存一个带有结果的“二进制”dat 文件,稍后由软件的另一部分导入。
我的目标是将此输出从“二进制”更改为人类可读的数字。
输出文件定义:
ofstream pricingOutputFile;
double *outputMatrix[MarketCurves::maxAreaNr];
ofstream outputFile[MarketCurves::maxAreaNr];
写入步骤是这样的:
pricingOutputFile.write((char *)&outputMatrix[area], sizeof(double));
矩阵充满了“双打”
有没有办法改变它以输出人类可读的文件?
我尝试了各种std::string
cout
“谷歌搜索”方法,但直到现在都没有成功。
尝试使用 << 的建议,但出现以下错误:错误 C2297: '<<' : 非法,右操作数的类型为 'double'
她的建议使我走上了正轨:
sprintf_s(buffer, 10, "%-8.2f", rowPos);
pricingOutputFile.write((char *)&buffer, 10);
灵感来源: http ://www.tenouk.com/cpluscodesnippet/usingsprintf_s.html
谢谢您的帮助