| 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로 위치 옮겨서 수정을 할려그랬더니 덮어씌워버리네요 뭐지.. 파라미터도 없는거같은데
벼릐내릐능하느리노무아름다오바버처럼나능그져눙무를흐리며서인내
아 해결됨 내가 테스트한다고 삭제하고 그위치에 바로 덮어씌워서 생긴문제였음 근데 나랑 똑같은 질문한넘있던데 어케한거지
아무리 생각해도 파일 중간에 삽입하는게 수정하는것보다 더 어려운건데
존나 이상해서 미칠번함 근데 12시 지났넹 ㅃㅇ ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ시발