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
[56562] Re:Re:Re:왕초보의 간단한 질문입니다
김태선 [cppbuilder] 2203 읽음    2009-03-31 21:41
kty1104 님이 쓰신 글 :
: Intotheblue 님이 쓰신 글 :
: : 적어주신 예제는 vc++ 쪽 코드입니다.
: : VC++이외에 컴파일러에선..컴파일이 안됩니다..
: : 당연히 빌더에서도 안되고요..
: :
: : 비슷한 빌더쪽 함수는 findfirst 랑 findnext 가 있습니다.
: : 각 함수에 자세한것은 헬프를 보세요..
: :
: :
: : kty1104 님이 쓰신 글 :
: : : 안녕하세요 왕초보 kty1104입니다 제가
: : :
: : : #include <stdio.h>
: : : #include <stdlib.h>
: : :
: : : #define MAX_COLS 32768
: : :
: : : int main(){
: : :
: : :  char a[128];
: : :  scanf("%s", a);
: : :  FILE *in;
: : :  char s[MAX_COLS];
: : :
: : :  if((in=fopen(a, "rt"))==NULL){
: : :  fputs("CAN NOT OPEN Input File\n", stderr);
: : :  system("PAUSE");
: : :  exit(1);
: : :
: : :  }
: : :
: : :  while (fgets(s, MAX_COLS, in) != NULL){
: : :  printf(s);
: : :  }
: : :
: : :  fcloseall();
: : :  system("PAUSE");
: : :  return 0;
: : :
: : : }
: : :
: : : 여기까지 짜서 어떻게하면 파일의수정된 날짜와 만든날짜를 알수 있을지 질문을 올렸는데 답변을 누가 해주셨습니다
: : :
: : :
: : : CString strSetFileHandle="c:\test.txt";//file의 경로
: : :
: : : WIN32_FIND_DATA Root;
: : :
: : : HANDLE hFile;
: : :
: : : hFile = FindFirstFile((LPCTSTR)strSetFileHandle, &Root);
: : :
: : : 
: : :
: : : __int64 nFileSize = Root.nFileSizeLow;
: : :
: : : 
: : :
: : : 
: : :
: : : 
: : :
: : : typedef struct _WIN32_FIND_DATA { // wfd
: : :     DWORD dwFileAttributes;
: : :     FILETIME ftCreationTime;
: : :     FILETIME ftLastAccessTime;  
: : :     FILETIME ftLastWriteTime;
: : :     DWORD    nFileSizeHigh;
: : :     DWORD    nFileSizeLow;
: : :     DWORD    dwReserved0;
: : :     DWORD    dwReserved1;
: : :     TCHAR    cFileName[ MAX_PATH ];
: : :     TCHAR    cAlternateFileName[ 14 ];
: : : } WIN32_FIND_DATA;
: : :
: : :
: : : 그런데 왕초보인 저에게 이걸 어떻게 소스에 집어 넣으라는건지 잘 모르겠더군요
: : :
: : : 아시는분은 도움좀 부탁 바랍니다 ㅎ
: : :
: : : 
: : :
: : : 물론 코딩까지 다 해달라는 뜻은 아니구여 제가 컴파일하기까지 왕초보인제가 실수해서 빠뜨릴만한걸 알려주시면 감사하겠습니다
: : : 예를들어서 인클루드 파일을 빠뜨렷다든지 이런거요 아니면 네이버에 검색할만한 검색어만 알려주셔도 감지덕지 하겠습니다
: : : CString이 선언되지 않은 식별자라고 나오거나
: : : ;가 strsetfilehandle앞에 없습니다 라든지
: : : strSetFileHandle 선언되지 않은 식별자입니다
: : : 이런식으로 나오기에 CString을 네이버에 검색해봤는데 답을 얻질 못했거든요
: : :
: : : 물론 컴파일되는 소스를 짜달라고 하는건 아니구요 ^^; 왕초보인 저에게 구원의 손길을 좀 주세요~
:
: 저기 죄송한데 여기에 VC++글은 올리면 아니되는건가요? 제가 VC++를 쓰고 있거든요 ;ㅂ;
: 혹시 VC++관련글을 올려도 된다면 FindFirstFileW매개변수2를 WIN32_FIND_DATA*에서 LPWIN32_FIND_DATAW로 변환할수 없습니다라고 나올때는 어떻게 해야 할까요? 소스는 여기있습니다
: #include <turboc.h>
: #include <windows.h>
: #include <tchar.h>
:
:
:
: int main(){
: typedef struct _WIN32_FIND_DATA { // wfd
:     DWORD dwFileAttributes;
:     FILETIME ftCreationTime;
:     FILETIME ftLastAccessTime;   ///////////////<-=== 이부분이요
:     FILETIME ftLastWriteTime;
:     DWORD    nFileSizeHigh;
:     DWORD    nFileSizeLow;
:     DWORD    dwReserved0;
:     DWORD    dwReserved1;
:     TCHAR    cFileName[ MAX_PATH ];
:     TCHAR    cAlternateFileName[ 14 ];
: } WIN32_FIND_DATA;
:
: const char * strSetFileHandle="c:\test.txt";//file의 경로
:
: WIN32_FIND_DATA Root;
:
: HANDLE hFile;
:
: hFile = FindFirstFile((LPCTSTR)strSetFileHandle, &Root);
: __int64 nFileSize = Root.nFileSizeLow;
: }


WIN32_FIND_DATA 는 이미 windows.h에 선언 되어 있으므로,
님의 소스에서는 없애야 합니다.
님의 소스에 재정의를 했기 때문에 윈도우즈에 정의한 형과 다른 형으로 인식을 한 것입니다.
만일 없애기 싫다면 이건
    hFile = FindFirstFile((LPCTSTR)strSetFileHandle, (WIN32_FIND_DATAW*)&Root);
식으로 강제 캐스팅을 하면 됩니다.
LPWIN32_FIND_DATAW 라고 나온 것은 현재 프로그래밍 모드가 Unicode 문자열 모드라는 뜻이므로
이를 감안하여 코딩해야 합니다.
그리고
FILETIME ftLastAccessTime;
에서 날짜를 추출하면 되는데, 이건 어렵지 않으니 자료를 찾아 보시기 바랍니다.

VC에 관한 자료는 devpia.com 에 가서 검색하면 됩니다.

그럼.

+ -

관련 글 리스트
56558 왕초보의 간단한 질문입니다 kty1104 1404 2009/03/31
56575     Re:왕초보의 간단한 질문입니다 나그네 1750 2009/04/02
56559     Re:왕초보의 간단한 질문입니다 Intotheblue 1612 2009/03/31
56561         Re:Re:왕초보의 간단한 질문입니다 kty1104 1727 2009/03/31
56562             Re:Re:Re:왕초보의 간단한 질문입니다 김태선 2203 2009/03/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.