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
[41468] Re:질문:여러개의 파일을 열어 파일명 또는 파일사이즈에 따라 편집하려면...
유영인 Cuperido [cuperido] 1044 읽음    2005-08-14 16:12
스트림을 (MemoryStream 혹은 FileStream) 을 사용해 보시는 것이 좋을 것 같습니다.

1. 먼저 파일 용량을 알아내는 함수를 만든다 (fseek 도움말 example 을 보시면 예제에 나와있습니다)
2. 배열을 만들어서 a.txt, b.txt 등을 정의하고, 각 용량을 알아낸다.
3. 용량별로 sorting
4. MemoryStream 을 만들어, 파일을 루프 하면서 원하는 부분을 편집

편집 하는 루틴의 예제는 다음과 같습니다.
컴포넌트에서 제공하는 여러가지 메소드가 많으니 참고해 보세요.


cuperido


void __fastcall TForm1::FormCreate(TObject *Sender)
{

TMemoryStream     *msStream = new TMemoryStream;
TMemoryStream     *msUnit = new TMemoryStream;


// a.txt 를 읽음..
msUnit->LoadFromFile("c:\\download\\a.txt");

// 스트림에 a.txt 의 내용을 밀어넣음
msStream->WriteBuffer(msUnit->Memory, msUnit->Size);

// b.txt 를 읽음..
msUnit->LoadFromFile("c:\\download\\b.txt");

// 스트림에 b.txt 의 내용을 3byte 이후로 부터 2 byte만 밀어넣음
msStream->WriteBuffer((char *)msUnit->Memory + 3, 2);

// 스트림 내용 기록
msStream->SaveToFile("C:\\Download\\Test.txt");

delete msUnit;
delete msStream;

}



즐겁게~ 님이 쓰신 글 :
: 예를들어 a.txt, b.txt ..... z.txt 파일이 있어,
: 이 파일을 하나의 파일로(abc.txt) 합치려고하는데요...
:
: 한번에 여러개의 파일을 열어서 파일명이나 파일용량으로 sort하여
: 그 순서대로 각 파일의 일부데이터를 합치고 싶습니다.
: 어떤 방법으로 해야하는지 도움부탁드립니다.
: 그리고, 몇개의 파일을 처리할 수 있는지도 알고싶습니다.

+ -

관련 글 리스트
41445 질문:여러개의 파일을 열어 파일명 또는 파일사이즈에 따라 편집하려면... 즐겁게~ 1174 2005/08/12
41468     Re:질문:여러개의 파일을 열어 파일명 또는 파일사이즈에 따라 편집하려면... 유영인 Cuperido 1044 2005/08/14
41475         다시 질문드릴게요.. ^^ 즐겁게~ 810 2005/08/16
41483             Re:다시 질문드릴게요.. ^^ 유영인 Cuperido 927 2005/08/16
41473         감사합니다. 즐겁게~ 664 2005/08/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.