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

C++빌더 Q&A
C++Builder Programming Q&A
[35209] Re:여러개의 txt 파일을 하나의 text 파일로 저장하려면?
김상면 [] 1375 읽음    2004-05-27 14:50
근본적으로 하드디스크에 자료를 기록하면 그것으로 끝입니다.
수정하더라도 최소한 기존의 기록된 자료의 크기와 정확하게 일치 해야합니다.
기록공간이 남거나 모자라면 뒷부분을 모두 물리거나 당기는 현상을 피할수 없습니다.

하지만 텍스트 편집기나 일반적인 워드 프로그램들은 문장을 중간에 바로 삽입하고 바로 삭제합니다.
이것이 가능한 이유는 이진 파일을 사용하거나 모든 파일을 메모리에 읽어 들인 다음 작업을 하기 때문입니다.

메모리에 필요한 내용을 모두 읽어서 모두 합친다음 파일전체를 새로 생성하는 기법의 경우에는.
작은 문서의 편집에는 가능하나 님처럼 자료의 양이 억수로 많은 경우에는 불가능합니다.

자료가 많은 경우는 임시 적인 이진 파일을 생성하고 원본 텍스트 파일의 한줄 한줄을 링크드 리스트 형태로 하드 디스크에 기록한후 링크드 리스트의 중간에 새로운 자료를 삽입하고 삭제하는 방법을 이용합니다.
이렇게 이진 파일로 작업을 하다가 작업이 완료 되면 링크드 리스트를 순서대로 읽어서 텍스트 파일을 새로 구성합니다.

꼭 링크드 리스트가 아니어도 경우에 따라서는 병합 정열을 약간 수정한 방법을 이용하기도 합니다.
알고리즘이야 많습니다. 편한대로 사용하면 됩니다.
그리고 텍스트 파일 합병에 프로그램이 알아 볼수 없을 정도로 길다면 그건 잘못된 프로그램입니다.

그럼



신디 님이 쓰신 글 :
:
: 1. 여러개의 txt 파일을 하나의 text.파일에 저장하는 코드를
:    들어올 데이타를 위치를 배열로 정해주어 해결을 했거든여.
:
: 2. 문제는 데이타가 한줄이 더 추가될경우 모든 파일의 데이타가 한칸씩 밀려 내려가는 현상이 생깁니다.
:    각각의 소스를 고치기엔 너무나 많은 양이라 힘이 들거 같아서 ...
:    (많은 양의 텍스트 파일이 있기 때문에)
:
: 3. txt 파일의 분량에 관계없이
:    2개의 text 파일이 있다면 처음 텍스트 파일 아래에 2번째 파일이 저장되면 되는
:    형태만 되면 될거 같거든여
:
: 고수님들의 많은 조언 부탁드립니다.

+ -

관련 글 리스트
35201 여러개의 txt 파일을 하나의 text 파일로 저장하려면? 신디 1091 2004/05/27
35209     Re:여러개의 txt 파일을 하나의 text 파일로 저장하려면? 김상면 1375 2004/05/27
35208     Re:여러개의 txt 파일을 하나의 text 파일로 저장하려면? 방태윤 1654 2004/05/27
35212         Re:Re:여러개의 txt 파일을 하나의 text 파일로 저장하려면? 신디 1055 2004/05/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.