2013-08-17 2 views
1

은 내가 cstdio의 기능을 사용하여 데이터를 쓰고 있어요 파일이 있습니다. 파일이 어떤 방해없이 파일에 성공적으로 기록되었는지 확인하고 싶습니다. 그래서 나중에 파일을 읽을 때 파일에서 무엇을 기대해야하는지 알고 싶습니다. 내가 그렇게하는 것을 목표로하는 방법은, 정상적으로 파일을 작성 먼저 작성하여 파일의 맨 처음에 제로로 8 바이트의 데이터를 가치가있다, 그리고 마지막 단계와 그 처음 8 바이트의 파일을 되감기 및 덮어 쓰기 등 파일이 완료되고 형식이 잘되어 있음을 나타내는 특정 서명.cstdio를 사용하여 파일을 편집합니다.

내 질문은 장소에 그 처음 8 바이트를 편집하는 가장 좋은 방법은 무엇입니까? fopen()

, 어떤 적절한 개방 모드 (두 번째 인자)를 사용하는 것입니다?

처음에는 rewind() 만 사용하고 fwrite()을 사용하는 것이 안전합니까? 아니면 덮어 쓰기와 관련하여 특별한 기능이 있습니까?

+0

참고로 공유 잠금을 보유 : 모드' "RB +"'있도록 당신에게 '는 fopen()'읽기/쓰기합니다. 그리고'fwrite()'를'fread()'로 즉각적으로 따르는 지 확인하십시오. – WhozCraig

+0

@whozCraig이 경우에는 파일을 만들지 만 제대로 된 것 같습니다. "wb +"도 비슷하게 작동합니까? –

+1

네, 괜찮을 겁니다. 파일이 있으면 자릅니다. 그것이 의도라면, 그것은 당신을 위해 일해야합니다. – WhozCraig

답변

1

WhozCraig는 권리입니다. wb+을 사용하면 완전히 괜찮으며, rewind이됩니다.

또한 보장 파일 잠금 봐, 걸릴 수

: 당신은 당신이있는 동안 아무도 파일을 쓸 수 없습니다 배타적 잠금

  • 을 잡고있는 동안

    • 아무도/읽을 파일을 쓸 수를
  • 관련 문제