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
[37381] Re:파일검색 과 처리
수야!╋ [sooya23] 1323 읽음    2004-09-23 10:32
문자열과 문자열의 비교는 strcmp를 사용하시는것이 좋을거 같군요

안시스트링의 .c_str()함수를 사용하면 문자열의 첫포인트가 반환되면

strcmp를 통하여 일치하는가를 알 수 있습니다.

안시스트링의 비교가 잘 안되는 경우가 상당히 많을꺼구요 ㅡ_ㅡ;;

또한 FindFirst하실때 *.*를 하시는 것보다 직접적인 파일명을 기제하시는 편이 빠를거 같구요


최진호 님이 쓰신 글 :
: 안녕하세요..
:
: 제가 묻고 싶은것은..
:
: sr.Name 에 관한것인데...
:
: 리스트.txt 라는 파일이 있는데..이곳에는 파일 이름이 저장되어있습니다..
: 이곳에 있는 파일이름을 하나씩 읽어서 특정디렉토리에 있는지 없는지를 검색하는 프로그램을 만들려고 합니다.
:
: 가장 어려운 부분은 sr.Name 와 파일 이름을 비교 하는것인데...
:
: 만약에..리스트.txt 에...
:
: 1.txt
: 2.txt
: 3.txt
: 라고 저장되어있다고 가정하고..
:
: c:\ex 디렉토리에 이들 파일이 있는지 찾는 프로그램인데...
:
: sr.Name가 계속 1.txt만 지시해서 이것을 어떻게..다음으로 넘기는지 모르겠습니다..
: 그럼 제가짠 소스를 올려드리지요..
: void __fastcall TForm1::DirRecursiveScan(String path)
: {
:         //TODO: Add your source code here
: int CountEnd;
:  Memo1->Lines->LoadFromFile("c:\\연습\\리스트.lst");
:  CountEnd=Memo1->Lines->Count;
:    try
:   {
:     if(String(path.AnsiLastChar()) != "\\") path += "\\";
:     AnsiString fpath, SaveEn, currpath, Filename, temp;
:     TSearchRec sr;
:     char *pszBuffer;
:     int inFile;
:     int iFileLen;
:
:     int Found = FindFirst(path + "*.*", faArchive | faDirectory, sr);
:
:     while(Found == 0)
:     {
:       fpath = path + sr.Name;
:       if(*sr.Name.c_str() != '.')
:       {
:         if(DirectoryExists(fpath)) DirRecursiveScan(fpath);
:         else
:         {
:
:          for(int i=0;i<CountEnd;i++)
:          {
:           if(sr.Name==Memo1->Lines->Strings[i])   <-----
:             Memo2->Lines->Strings[i]=sr.Name;     <----- 에서 계속 ..sr.Name 가 다음 파일명으로 넘어 가지 않네요
:
:
:           else
:            Memo2->Lines->Strings[0]=sr.Name;
:           }
:
:          }
:         }
:       Found = FindNext(sr);
:     }
:     FindClose(sr);
:   }
:   catch(Exception *e)
:   {
:     throw e;
:   }
:
:
: }
:
:
: 그럼 수고하세요

+ -

관련 글 리스트
37379 파일검색 과 처리 최진호 1022 2004/09/23
37381     Re:파일검색 과 처리 수야!╋ 1323 2004/09/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.