2013-03-17 4 views
1

이진 파일의 마지막 32 자로 정보를 쓰고 싶습니다. 하지만 writeInfo 함수를 호출하면 전체 내용이 삭제됩니다. 내가 쓰기 전에 데이터를 읽을 수 있지만,이 함수로 작성한 후에는 쓰는 대신 전체 내용을 삭제합니다. 파일의 마지막 32 자까지 쓰기

void Info::writeInfo(char *filedestination) 
{ 
ofstream test; 
test.open(filedestination, ios::binary); 
test.seekp(-32, ios::end); // not sure about seekp 
test.write(info, 31); 
test.close(); 
} 

는 당신에게 감사합니다, 당신이 도움이 될 수 있습니다 희망

답변

2

입니다 : 그가 사용하여 이미 seekp``의 C에 해당한다

test.open(filedestination, ios::binary | ios::in | ios::out); 
+0

가 작동했습니다. 정말 고마워요. –

0

http://www.cplusplus.com/reference/cstdio/fseek/

fseek과를 사용해보십시오(). 링크는 위의 당신은 그것을 절단에서 open에 전화를 방지하기 위해 읽기 - 쓰기 모드로 파일을 열려면이 문서

+0

. 또한 C와 C++을 혼합하는 것은 나쁜 생각입니다. – loganfsmyth