MFC CFile написать

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

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

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

Решение

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

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

когда вы пишете столбец или строку, просто найдите «|» положение, затем напишите свое значение.

0

Другие решения

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

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

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

По вопросам рекламы [email protected]