Сохранить _stprintf_s в текстовом файле - PullRequest
1 голос
/ 05 июня 2019

Я новичок в 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 Ответ

2 голосов
/ 05 июня 2019

Существующий код печатается в буфер 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;
...