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
[43909] Re:프로그램 만들다가 정말 궁금한게 있어서 올려봅니다;ㅅ ;
김태선 [jsdkts] 1185 읽음    2006-03-03 19:37
TCHAR 형은 보통 char 형과 같습니다만 유니코드를 쓸때는 와이드캐렉터형  wchar_t
변수가 됩니다.

쓰신 경우는 그냥 char 형일 경우라고 생각되는데
이 경우
if (wfd.cFileName == name)
은 그냥 두 포인트 값만 비교하는것이므로 절대 같지 않게 나오지요.
문자열이 같은지 비교하려면
if (!strcmp(wfd.cFileName, name))
로 해야 합니다.

AnsiString 형 문자열 변수는 그냥 == 로 비교 가능하지만
char 형 문자열은 strcmp 라는 문자열 비교함수를 사용해야 합니다.

그럼.

Destinyz 님이 쓰신 글 :
: 제가 한창 프로그램을 만들다가요...
:
: 찾은 파일명과 프로그램에서 찾고자 하는 파일명이 같으면 메시지를 띄우는 걸 하려고 했는데요,
:
: 찾으려고 하는 파일명을 찾는 함수를
:
: FindFirstFile, FindNextFile, FindClose
:
: 로 썼습니다. 그리고 이 함수들을 쓰기위해서 WIN32_FIND_DATA 구조체를 썼구요...
:
: 프로그램은 오류없이 잘 돌아가지만, 논리적인 오류가 있는듯 합니다.
:
: 제가 가장 강력하게 의심하고 있는 부분은
:
: 바로 WIN32_FIND_DATA 구조체의 TCHAR형 변수 cFileName(함수를사용했을때얻어진파일명)가
:
: char형 변수 filename(프로그램에서찾고자하는파일)과 비교가 안되는 것입니다.
:
: TCHAR형과 char형 변수는 원래 비교가 안되나요? 같은 걸로 알고 있습니다만...
:
: 혹시나해서 char형 변수를 임시로
:
: (TCHAR)filename 으로 했더니만 포인터 오류가나서
:
: (TCHAR*)filename 라고 했는데, 또 비교는 안되더군요...
:
: 어떻게 비교를 해야할가요!! 제발 도와주세열 ㅠㅅ ㅠ

+ -

관련 글 리스트
43908 프로그램 만들다가 정말 궁금한게 있어서 올려봅니다;ㅅ ; Destinyz 961 2006/03/03
43909     Re:프로그램 만들다가 정말 궁금한게 있어서 올려봅니다;ㅅ ; 김태선 1185 2006/03/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.