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
[46005] Re:Re:Re:TStringList를 vector에 넣는 방법좀..;;
열씸! [] 1289 읽음    2006-08-03 14:16
물론 문제가 있습니다.
벡터에 객체 포인터를 삽입하신 경우라면 개체 복사가 일어나지 않습니다. 포인터 복제만 이루어지죠.
즉, page->Clear(); 시점에서 push_back 한 page는 내용을 잃게 되었을겁니다.
아무래도 코딩하시는걸 보니, vector와 TStringList 를 함께 쓰실 문제가 아닐것 같은데...
굳이 사용하시겠다면, 다음처럼 해 보시죠. 메모리 해제는 별도로 해 주셔야 될겁니다.
직접 돌려보지 않고, 올려주신 코드를 조금 수정한거라 제대로 도는진 모르겠습니다.

     vector<TStringList *> strLists;
     TStringList *data = new TStringList();
     data->LoadFromFile("TEST.txt");

     int cnt = data->Count;

    TStringList *page = new TStringList(); 
     for (int i = 0; i<cnt; i++) {
          page->Add(data->Strings[i]);
          if(data->Strings[i].Pos("endpage")) {
              strLists.push_back(page);
              page = new TStringList();
          }
     }

     Memo1->Lines->Add(strLists.size());
     for(int i = 0; i < strLists.size(); i++)
     {
        Memo1->Lines->Add(strLists[i]->GetText());
     }

+ -

관련 글 리스트
45962 TStringList를 vector에 넣는 방법좀..;; 김태원 1135 2006/08/01
45967     Re:TStringList를 vector에 넣는 방법좀..;; 열씸! 1277 2006/08/02
45999         Re:Re:TStringList를 vector에 넣는 방법좀..;; 김태원 1081 2006/08/03
46005             Re:Re:Re:TStringList를 vector에 넣는 방법좀..;; 열씸! 1289 2006/08/03
46033                 Re:Re:Re:Re:TStringList를 vector에 넣는 방법좀..;; 김태원 993 2006/08/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.