0

I am using MFC to write a measurement application. On the first run, I got my data written on first column and on to next row and next row.

Here's the question. On the second run, how do I write my data on the second column?

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 is the power value extracted from the measurement hardware.

4

2 回答 2

0

实际上,我认为,您应该为文件设计一种格式。写入时,应使用偏移量来确定写入位置。例如,列长度是特定值,与行值相同,如下所示:

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

当你写一列或一行时,只需找到“|” 位置,然后写下你的价值。

于 2013-07-25T02:46:09.240 回答
0

您的意思是按列写入数据,就在第一列旁边?这不能按顺序进行。由于文件是一个流结构,我们也不能在文件中间插入数据。

另一种方法是:

  1. 创建一个具有写入和附加权限的新文件。
  2. 从原始文件中顺序读取一行,写入新文件。
  3. 将第二列的一行写入新文件。
  4. 重复步骤 2 和 3,直到原始文件到达末尾。
  5. 交换原始文件和新文件的文件名。
于 2013-07-25T02:47:12.687 回答