Как я могу сохранить данные в реальном времени в текстовом файле
Привет, у меня есть следующий код
if (StartMonitor) //StartMonitor { TotalVoltage5s += CalculatePower(); //TotalVoltage5s += 20; xx123++; CString sad; m_power_edit.GetWindowText(sad); int num1 = _ttoi(sad); if(xx123 >= num1){ if(TotalTime > 19){ Power_Log_Chart.ClearChart(); TotalTime = 0; } CTime tm; tm=CTime::GetCurrentTime(); CString str=tm.Format("%X"); ostringstream os; float ds= (float)atof((char *)(LPTSTR)(LPCTSTR)sad); os << TotalVoltage5s/ds; ostringstream os1; m_power_list.InsertColumn(Current_columns,"",LVCFMT_CENTER,80,0); m_power_list.SetItemText(0, Current_columns, str); m_power_list.SetItemText(1, Current_columns, os.str().c_str()); m_power_list.SetItemState(Current_columns, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); m_power_list.EnsureVisible(Current_columns, FALSE); Power_Log_Chart.SetXYValue(TotalTime, TotalVoltage5s/ds, TotalTime, 0); TotalTime++; TotalVoltage5s = 0;
То, что он просто делает, он принимает вычисленное значение функции Calculatepower() и отображает результаты каждые 5 секунд, используя Totalvoltage5s и TotalTime. Мне нужен способ сохранять эти данные в текстовом файле каждые 19 секунд.
Что я уже пробовал:
Я пытался сохранить данные с помощью цикла FOR, но постоянно получаю ошибку.
jeron1
и что за ошибка будет?
Baderd94
именно это я и пытался сделать,
for (int q =0; q< 19; q++)
{
SavePowerData[q] = TotalVoltage5s;
}
но когда я показываю данные, это не дает никаких результатов, поэтому пустой файл, где SavePowerData является глобальной переменной
jeron1
На какой файл вы ссылаетесь?
Patrice T
а сообщение об ошибке есть ?
Baderd94
У меня есть следующий код
for (int q =0; q< 19; q++)
{
SavePowerData[q] = TotalVoltage5s;
SaveTimeData[q] = Общее время;
}
Для хранения данных, то у меня есть еще одна функция под названием onsavedata, в сторону этой функции я ставлю следующую
CString str10;
CFileDialog FileDlg10(ложь," ","мощность Data.txt журнал",OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT , "текстовый файл(*.в формате txt)|*.txt|все(*.*)|*.*|");
if(FileDlg10.DoModal()==IDOK)
{
ofstream ofs(FileDlg10.GetPathName());
ofs.write(str10,str10.Метода getlength может служить метод());
ОФС.рядом();
AfxMessageBox("Сохранено!");
}
еще
{
AfxMessageBox("не удалось сохранить!");
}
ofstream PowerData(FileDlg10.GetPathName(), ios::out);
PowerData<<SavePowerData<<endl;
PowerData.рядом();
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.
jeron1
Файл 'ОФС' ничего не содержат, поскольку CString 'str10-это пустое. Для 'файл PowerData', у вас для каждой записи в массиве SavePowerData, которые вы можете использовать цикл for, чтобы сделать.
[no name]
Где это для ... петли?