2013-07-25 41 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. 交換原始文件和新文件的文件名。