file 다루기..
글쓴이: gayj / 작성시간: 토, 2003/06/21 - 8:59오전
다음과 같은 파일이 하나 있습니다..
- string 1.............
string 2.............
string 3.............
string 4.............
string 5.............
string 6.............
이런 파일을 open해서 중간에 string 4를 삭제할려구 합니다.
그래서 다음처럼..
- string 1.............
string 2.............
string 3.............
string 5.............
string 6.............
이것처럼 만들려구 하는데요..
화일이 꽤 크고, 랜덤하게 접근해서 중간중간 한 라인씩 삭제를 해야 하기 때문에 간단하지가 않네요..
좋은 아이디어 부탁 드립니다.. :roll:
Forums:
저도 이 문제로 예전에 고민한적이 있었는데제 경우는1 2
저도 이 문제로 예전에 고민한적이 있었는데
제 경우는
1 2 3 4 5
의 내용을 가진 파일이 있을때 지울것이 4라면
1 2 3 5
를 임시 파일에 저장해서 원본을 지우고 임시파일을 원본으로 바꿔치기하는
방법을 썼었습니다.
하지만 파일이 작은 경우였고 또 별로 효율적이지도 않은것 같았습니다.
정말로 좋은 방법이 있다면 저도 꼭 알고 싶군요 :D
- Advanced -
그 화일을 지웠다고 표시만 하는방법도 있지 않을까요?
스트링의 크기가 일정하다다면..
스트링 3을 지우고 싶으면..
특정 위치에다가 ..3이라고 적어 놓는겁니다..
아님.. 스트링의 크기가 일정하지 않아서.. \n으로 구분 됀다면..
\n 앞이나 뒤에.. 특정한 코드를 넣어서.. 하는 방법도 있겠고..
아님.. 스트링 3크기 만큼을 스페이스로 채우는 방법도 있을거 같습니다.
strtok()함수를 잘 활용해 보심이 어떠한지...
strtok()..... good
변경된 정보를 유지하였다가 나중에 한꺼번에 처리하는 것이 어
파일의 내용이 변경(삽입, 삭제, 수정 등등)되는 변경된 정보를 기록하는 것이 어떨런지요. 변경 이후에 파일에 대한 조작을 할 경우 변경된 정보를 참조하여 접근하면 될 것이고 거기에 또 변경이 있으면 그 정보를 계속 기록하는 것이지요.
나중에 변경된 내용을 한꺼번에 일괄 처리하면, 전체적인 부하는 상당히 감소할 수 있을 듯 싶습니다.
내 블로그: http://unipro.tistory.com
댓글 달기