Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[590] 레조님 의견 강추~ 그리고 또 다른 편법
찬이 [chanywa] 2216 읽음    2002-05-08 19:15
흠.... 대충 뭘 원하시는진 이해가 가는군요.

랜덤하게 파일중간에 데이터를 삽입했다 지웠다 할건데

그 길이가 일정치 않기 때문에 곤란을 겪으신다......

그렇다고 메모리에 다 읽을 수도 없다........




아무래도 레조님께서 짧은 답글을 달아주신 그 내용으로 하는게 좋을 것 같네요

일종의 파일복사를 하는 거죠.

메모리로 다 읽어들이실필요는 없구요.



즉, 어떤 임시파일을 새로 생성해서

원본파일의 데이터 입력할 포인터 이전까지의 내용을

임시파일에 기록하는 겁니다.

그리고 나서 변경할 내용을 기록하시고,

그리고 원본파일에서의 없애야할 내용 그 다음부터의 내용을

아까의 임시파일에 기록하시고 나서.......

원본파일을 지우고, 임시파일명을 원본파일명과 동일하게 바꾸는 거죠.

이게 제 생각에도 맞는 것 같네요.

레조님께서 말씀하신 원론적인~~~~~~~~~ ㅡㅡ+





그리고 다른 쪽으로 생각을 돌리면....

인덱스 파일기법을 응용할 수도 있겠습니다.

물론 이게 좋다 다른게 좋다라고 꼭 집을 순 없겠죠. 경우마다 다르니깐......

예를 들자면, 각 데이터들의 기록시작위치와 점유하고 있는 길이를

따로 파일에다가 저장하는 겁니다.

그리고 데이터를 지울 일이 있다면, 인덱스 내용만 지우면 되겠지요.

그리고 삽입할 일이 있다면, 인덱스에 내용을 추가하고

데이터파일에는 제일 뒤에 추가를 하세요..........

물론 이렇게 하면 파일길이가 계속 길어지므로, 한번쯤 인덱스 기준으로

재정리해줄 필요가 있겠지요?

사용자가 혹은 시스템이 데이터 정리를 시작하면

그때는 인덱스에 맞게 파일들을 새로 정리해서 필요없는 부분은 빼고

새로운 데이터파일로 기록하는...... 그런 방식도 생각해볼 수 있습니다.

이 방법은 작업량이 한번에 많이 몰리는 경우에 유용하겠지요.

수시로 파일을 썼다 지웠다하는 것보다는....

그리고 삭제했던 것을 복구시킬수도 있겠지요.

데이터 삭제는 인덱스에서만 지운 것이지, 실제 데이터파일엔 그대로 남아있으니까요.

물론 데이터 정리작업을 하기 전이지만요.....






그리고 데이터의 갯수가 적고, 대신 한 데이터의 크기가 큰 경우에는

각각의 데이터마다 한개의 파일을 생성해서 사용하는 방법도 괜찮겠지요.

물론 이것도 인덱스 파일을 만들어서 관리하면 더 빠를 거구요.





제가 이런쪽으로 제대로 배운 적이 없어서

정석이다 아니다라곤 말씀못드리겠지만,

아무튼 도움이 되시길.......


## 찬이와닷컴 :: http://chanywa.com

+ -

관련 글 리스트
3404             Re:Re:Re: 넵...^^ 답변감사합니당. 그런데... 남병철.레조 2078 2002/05/08
3403             Re:Re:Re: 넵...^^ 답변감사합니당. 그런데... 남병철.레조 1912 2002/05/08
3402             Re:Re:Re: 넵...^^ 답변감사합니당. 그런데... 남병철.레조 2017 2002/05/08
3401             Re:Re:Re: 넵...^^ 답변감사합니당. 그런데... 남병철.레조 1993 2002/05/08
3400             Re:Re:Re: 넵...^^ 답변감사합니당. 그런데... 남병철.레조 1999 2002/05/08
590             레조님 의견 강추~ 그리고 또 다른 편법 찬이 2216 2002/05/08
573     Re:우..-_-; 파일변경 질문좀... 남병철.레조 2187 2002/05/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.