我有一些前員工開發的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