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
[70495] Re:Re:[질문] 두개의 텍스트 파일에서 중첩된 행은 제거하기
하안인 [hurco] 2479 읽음    2013-12-11 17:23
답변감사합니다.
그런데  행과 행을 다 비교하는 것이 아니라 행과 행의 어느 특정값만을 비교하려고 하거든요.



a1.txt   -> 123,567,999
a2.txt   ->  444,567,888

이면 두번째 567 값만을 비교하려고 합니다.

ss = a1->String[0];
s1 = ss.AnsiPos(",");
로 찾아서 처리하려고 합니다. 그런데 시간이 엄청 걸려서...

행과 행은

StringList를 소트한후 find함수로 찾으면 금방 끝나는데...


장성호 님이 쓰신 글 :
: 데이타 량이 많으니
: 시간이 많이 걸릴듯 하네요
:
: 아래 소스에서 a2 리스트를  TStringList 가 아닌 THashedStringList 로 사용하지구요
: for문 돌려서 찾지 말고 IndexOf로 찾아보세요
:
:
:         for(int c = 0; c < a1->Count; c++)
: 	{
: 		if(a2->IndexOf(a1->Strings[c])<0)
: 		{
: 			a3->Add(a1->Strings[c]);
: 		}
: 	}
: 

:
: 비교하는 문자열의 길이에 따라 차이가 많이 나긴 하는데요
: 약 10배정도에서 많게는 수백배 빨라집니다.
:
: THashedStringList  는  #include <IniFiles.hpp> 에 정의되어있습니다.
:
: 그럼..
:
: 하안인 님이 쓰신 글 :
: :
: : 1.txt 와 2.txt 파일두개에서 3.txt 파일을 생성하려고 합니다.
: : 1.txt의 열의값이 2.txt 의 열의 값이 존재하는 것은 빼고 없는 열만 3.txt 파일로 만들려고 합니다.
: :
: : StrList 을 이용해서 비교해서 파일은 만드는 작업을 했는데요.
: :
: : 데이타가 1.txt 에 10만개정도 2.txt 에 1~20만개의 데이타를 넣고
: : 실행을 하니 언제 끝날지 모르겠네요.
: : 속도가 너무느려서요.
: :
: : TStringList *a1, *a2, *a3;
: : a1 = new TStringList;
: : a2 = new TStringList;
: : a3 = new TStringList;
: : a1->Clear();
: : a2->Clear();
: : a3->Clear();
: :
: : a1->LoadFromFile("a1.txt");
: : a2->LoadFromFile("a2.txt");
: :
: :
: : for(b = 0; b < a1->Count; b++)
: : {
: :     ino = 0;
: :      s = a1->Strings[b];
: :     for(c = 0; c < a2->Count; c++)
: :     {
: :          s1 = a2->Strings[c];
: :          if(s == s1)
: :              ino = 1;
: :     }
: : if(ino == 0)
: :     a3->Add(s);
: : }
: : a3->SaveToFile("a3.txt");
: :
: :

+ -

관련 글 리스트
70493 [질문] 두개의 텍스트 파일에서 중첩된 행은 제거하기 하안인 2365 2013/12/11
70494     Re:[질문] 두개의 텍스트 파일에서 중첩된 행은 제거하기 장성호 2420 2013/12/11
70495         Re:Re:[질문] 두개의 텍스트 파일에서 중첩된 행은 제거하기 하안인 2479 2013/12/11
70496             Re:Re:Re:[질문] 두개의 텍스트 파일에서 중첩된 행은 제거하기 장성호 2498 2013/12/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.