fstream을 사용하여 파일을 사용할때

특정 위치의 파일 내용을 바꿔줄려고 하는데

그 위치에 내용을 쓰면 덮어 씌어지는게 아니라 데이터가 삽입이 됩니다.

이를테면 파일에 1 2 3 4 라는 데이터가 있는데 3의 위치에 3대신 5를 넣고 싶어서

그 위치에 5를 쓰면 데이터가 1 2 5 4 가 되는게 아니라 1 2 5 3 4가 되더라구요.

파일을 열때 f.open("파일이름", ios::in | ios::out)으로 열었습니다.

아래 모드들로는 해결이 안될거 같은데...정말 방법이 없을까요?

ios_base::out  출력용으로 파일을 연다. 
ios_base::in  입력용으로 파일을 연다. 
ios_base::app  파일 끝에 데이터를 덧붙인다. 데이터를 추가하는 것만 가능하다.  
ios_base::ate  파일을 열자 마자 파일 끝으로 FP를 보낸다. FP를 임의 위치로 옮길 수 있다. 
ios_base::trunc  파일이 이미 존재할 경우 크기를 0으로 만든다.
ios_base::binary  이진 파일 모드로 연다.
 

seekp로 위치 옮겨서 수정을 할려그랬더니 덮어씌워버리네요 뭐지.. 파라미터도 없는거같은데