将_stprintf_s保存到txt文件中

时间:2019-06-05 05:11:21

标签: c++ printing save

我是C ++的新手,我有一个预构建的代码,需要对其进行修改以保存其打印输出。在原始代码中,它包含诸如

_stprintf_s(szFrame, _countof(szFrame), _T("%+011.6f %+011.6f %+011.6f   "), pData[0], pData[1], pData[2]));

_stprintf_s(szFrame, _countof(szFrame), _T("%4x Sensor %d:  "), pHdr->preamble, pHdr->station );

这种类型的_stprintf_s在运行时会在命令提示符下输出一些结果。我的目标是将它们另存为文本文件。但是,当我尝试按照下面的代码保存此代码时,它没有保存确切的字符串。而是保存一个数字(大约6位数字)。我的问题是关于_T(“”)部分,其中3个数据分别为pData [0],pData [1],pData [2]。每个人都应该有一个数字,格式为%+ 011.6f。但是当我运行下面的代码时,我只会得到一个像164242的数字。也许只是获得了第一部分“ szFrame”。

#include<fstream>
ofstream myfile("C:/Users/slee23/Desktop/newfolder/example.txt", ios_base::app); 
myfile << _stprintf_s(szFrame, _countof(szFrame), _T("%+011.6f %+011.6f %+011.6f   "), pData[0], pData[1], pData[2]));

myfile << std::to_string(_stprintf_s(szFrame, _countof(szFrame), _T("%+011.6f %+011.6f %+011.6f   "), pData[0], pData[1], pData[2])));

您能给我建议解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

现有代码正在打印到缓冲区szFrame中,您需要将其写入流中。

#include<fstream>

_stprintf_s(szFrame, _countof(szFrame), _T("%+011.6f %+011.6f %+011.6f   "), pData[0], pData[1], pData[2]);

ofstream myfile("C:/Users/slee23/Desktop/newfolder/example.txt", ios_base::app); 
myFile << szFrame;