나는 fstream
개체로 작업하고 있으며 파일의 끝 부분을 지나서 뭔가를 쓸 수 있는지 궁금하다. eof와 0으로 원하는 위치?파일 끝을 지나서 특정 주소에 쓰는 방법
예 :
fstream someFile;
someFile.open("foo.dat", ios :: out | ios :: trunc | ios :: binary); // file is created, and empty
someFile.seekp(100, ios :: beg); // expecting 100 zeroes to be written in file, but nothing happens
someFile.write("yodelay-hee-hoo", 15); // file is still empty, does not work
나는 약 한 시간 동안 문제를 검색했습니다,하지만 난 관련 더 아무것도 찾을 수 없습니다. 내가 만난 유일한 것은 .seekp
을 ios :: end
과 함께 사용하여 차이가 0으로 채워지겠다고 말한 사람이지만 시도해 보았지만 나에게 도움이되지 못했습니다.
도움이된다면, 저는 VS2010에서 네이티브 컴파일을하고 있습니다. 팁을 제공 할 수 있다면 감사합니다.
당신은'ios :: end'를 사용하고 싶지만 코드는'ios :: beg'를 말합니다 –
그래서 seekp는 아마도 스트림을 오류 상태로 설정합니다. 오류가 무엇입니까? – hyde
왜 그 0들을 직접 써야하지 않습니까? 그것은 능률적 일 것이고 훨씬 더 명백한 코드가 될 것입니다. 또는 나는 무엇인가 놓치고 있냐? – ereOn