MFC CFile写

时间:2013-07-25 02:13:55

标签: c++ 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是从测量硬件中提取的功率值。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

您的意思是按列写入数据,该列位于第一列的旁边?这不可能顺序完成。由于文件是流结构,我们也不能将数据插入文件的中间。

另一种方法是:

  1. 使用write和append permisson创建一个新文件。
  2. 从原始文件中依次读取一行,将其写入新文件。
  3. 将第二列的一行写入新文件。
  4. 重复步骤2和3,原始文件到达终点。
  5. 交换原始文件和新文件的文件名。