2013-07-25 1 views
0

Я использую MFC для записи приложения измерения. В первом запуске я получил данные, записанные в первом столбце, и в следующую строку и следующую строку.MFC CFile написать

Возникает вопрос. Во втором запуске, как мне написать свои данные во втором столбце?

CFile DataFile(m_strPathName, CFile::modeWrite | CFile::modeCreate); 
sprintf_s(File,"%d,%f,%e\r\n",i , position, buffer1); 
GetLength = strlen(File); 
DataFile.Write(File, GetLength); 

buffer1 - это значение мощности, извлеченное из измерительного оборудования.

+0

Должно ли оно расти по столбцу? Это очень неудобно и неэффективно для файла. Но они могут легко расти, добавляя строку в конце. –

+0

Первые данные будут расти в первом столбце, а во втором столбце будут расти другие данные. Это то, что я имею в виду. @ ScottMcP-MVP – Ashton

ответ

0

На самом деле, я думаю, вы должны создать формат для файла. когда вы пишете, вы должны использовать смещение, чтобы определить, где write.For пример, длина столбца определенное значение и равно значению строки, например:

---column1----|----column2----|---column3----|... 
---row1-------|----row2-------|----row3------|.. 
.... 

, когда ваша запись столбец или строка, просто найдите "|" затем введите свое значение.

0

Вы имеете в виду запись данных по столбцу, который находится рядом с первым столбцом? Это невозможно сделать последовательно. Поскольку файл является структурой потока, мы также не можем вставлять данные в середину файла.

Альтернативный способ заключается в следующем:

  1. Создать новый файл с записью и добавить согласия автора.
  2. Прочитайте одну строку последовательно из исходного файла, запишите его в новый файл.
  3. Напишите одну строку второго столбца в новый файл.
  4. Повторите шаги 2 и 3, используя исходный файл, который достигнет конца.
  5. Примените имя файла к исходному файлу и новому файлу.