2013-07-25 4 views
0

MFC를 사용하여 측정 응용 프로그램을 작성하고 있습니다. 첫 번째 실행에서 내 데이터를 첫 번째 열과 다음 행 및 다음 행에 기록했습니다.MFC CFile write

여기에 질문이 있습니다. 두 번째 실행에서 데이터를 두 번째 열에 어떻게 써야합니까?

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

사실, 제 생각에는 파일 형식을 설계해야합니다.

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

당신의 편지 열 또는 : 당신이 쓸 때, 당신은 예를 write.For 위치를 결정하기 위해 오프셋 사용해야 열 길이는 특정 값과 행 값에 동일한, 같은입니다 행을 찾으려면 "|" 당신의 가치를 쓰십시오.

0

첫 번째 열 바로 옆에있는 열을 기준으로 데이터를 쓰는 것을 의미합니까? 그것은 순차적으로 행해질 수는 없습니다. 파일은 스트림 구조이기 때문에 파일 중간에 데이터를 삽입 할 수 없습니다.

  1. 쓰기로 새 파일을 만들고 permisson를 추가 :

    다른 방법이입니다.

  2. 원래 파일에서 한 행을 순차적으로 읽은 다음 새 파일에 쓰십시오.
  3. 두 번째 열의 한 행을 새 파일에 씁니다.
  4. 2 단계와 3 단계를 반복하면 원래 파일이 끝까지 도달합니다.
  5. 원본 파일의 파일 이름과 새 파일을 교체하십시오.