【问题标题】:Save _stprintf_s in a txt file将 _stprintf_s 保存在 txt 文件中
【发布时间】:2019-06-05 05:11:21
【问题描述】:

我是 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(" ") 部分,其中包含 pData[0]、pData[1]、pData[2] 的 3 个数据。每个都应该有一个格式为 %+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])));

你能给我一些解决这个问题的建议吗?

【问题讨论】:

    标签: c++ printing save


    【解决方案1】:

    现有代码正在打印到缓冲区 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;
    

    【讨论】:

    • 您好,感谢您的回复! szFrame 可以这样打印出来。我的问题是关于 _T(" ") 部分,其中包含 pData[0]、pData[1]、pData[2] 的 3 个数据。每个都应该有一个格式为 %+011.6f 的数字。但我只得到一个像 164242 这样的数字。
    • 我明白了!我删除了 myfile
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    相关资源
    最近更新 更多