我有一些前员工开发的C++代码。 我试图澄清/测试一些软件结果。 在中间步骤中,软件将结果保存到“二进制”dat文件中,然后由软件的另一部分导入。ofstream输出字符串/字符而不是双打
我的目标是将此输出从“二进制”更改为人类可读的数字。
输出文件被限定:
ofstream pricingOutputFile;
double *outputMatrix[MarketCurves::maxAreaNr];
ofstream outputFile[MarketCurves::maxAreaNr];
的写入步骤是这样的一种:
pricingOutputFile.write((char *)&outputMatrix[area], sizeof(double));
基质填充有“双打”
有一种方法来改变这种输出一个人类可读的文件?
我已经尝试过各种std::string
cout
和其他方法'谷歌搜索',但直到现在没有成功。
试过建议与< <,但给了以下错误: 错误C2297:“< <”:非法,右操作数的类型“双”
的sugestions她把我推在正确的轨道上:
sprintf_s(buffer, 10, "%-8.2f", rowPos);
pricingOutputFile.write((char *)&buffer, 10);
灵感发现在: http://www.tenouk.com/cpluscodesnippet/usingsprintf_s.html
感谢您的帮助
你是怎么打印“输出”的?显示'outputMatrix'的声明 – P0W
您是否尝试过类似'pricingOutputFile << outputMatrix [area] <<“\ n”;'? – timrau