Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

겪어보신 분들이 있을지 모르겠습니다.

제가 테스트한 것은

UNIX Type: L8 Version: SUNOS
poseidon FTP server

입니다.

파일 전송이나 로긴에서는 문제가 없는데 파일 목록을 받아오는 FtpFindFirstFile이나 CFtpFileFind에서는 정상적으로 목록을 받아오지 못합니다.

그 poseidon FTP 서버에 대해 LIST를 해보니까....

-rw------- 1 root root 478392 8월 27일 10:19 core
-rw-r--r-- 1 root other 2542 2001년 12월 12일 cshrc.org

위와 같은 식으로 특이하게 나옵니다.

첫 번째 항목은 "8월 27일 10:19"라고 나오고...
두 번째 항목은 "2001년 12월 12일"이라고 나온 것을 볼 수 있습니다.

이런 경우, WinINET에서 제공되는 편리한 FTP 라이브러리를 버리기에는 너무 아깝죠.
다른 공개 라이브러리 찾기도 그렇고, 새로 만들기에는 더더욱 귀찮을 테니까요.

아마도 MS에서도 이 부분을 예상하지 않았나 싶네요. ^^ CFtpConnection::FtpCommand 함수를 이용하시거나 FtpCommand 함수를 이용해서 직접 목록에 대한 파싱을 하는 것도 좋습니다. 목록 부분만 FtpCommand로 직접 처리를 하고 나머지에 대해서는 마찬가지로 CFtpConnection에서 제공되는 편리한 함수들을 사용하면 되니까요.

대략 다음과 같은 식으로 사용하면 되겠지요. ^^

    CString cmd = "CWD /userroot";
    m_ftpConnection->Command( cmd, CFtpConnection::CmdResponseType::CmdRespNone );

    CInternetFile *iFile = m_ftpConnection->Command( "LIST", CFtpConnection::CmdResponseType::CmdRespRead );
    CString readText;
    while ( iFile->ReadString( readText ) )
    {
          // readText 문자열 파싱
    }
    iFile->Close();








[최초 등록일: ]
[최종 수정일: 6/26/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13729정성태9/9/20248937C/C++: 173. Windows / C++ - AllocConsole로 할당한 콘솔과 CRT 함수 연동 [1]파일 다운로드1
13728정성태9/7/20248533C/C++: 172. Windows - C 런타임에서 STARTUPINFO의 cbReserved2, lpReserved2 멤버를 사용하는 이유파일 다운로드1
13727정성태9/6/20249212개발 환경 구성: 722. ARM 플랫폼 빌드를 위한 미니 PC(?) - Khadas VIM4 [1]
13726정성태9/5/20248259C/C++: 171. C/C++ - 윈도우 운영체제에서의 file descriptor와 HANDLE파일 다운로드1
13725정성태9/4/20246860디버깅 기술: 201. WinDbg - sos threads 명령어 실행 시 "Failed to request ThreadStore"
13724정성태9/3/20249704닷넷: 2296. Win32/C# - 자식 프로세스로 HANDLE 상속파일 다운로드1
13723정성태9/2/20249073C/C++: 170. Windows - STARTUPINFO의 cbReserved2, lpReserved2 멤버 사용자 정의파일 다운로드2
13722정성태9/2/20246910C/C++: 169. C/C++ - CRT(C Runtime) 함수에 의존성이 없는 프로젝트 생성
13721정성태8/30/20246704C/C++: 168. Visual C++ CRT(C Runtime DLL: msvcr...dll)에 대한 의존성 제거 - 두 번째 이야기
13720정성태8/29/20247082VS.NET IDE: 193. C# - Visual Studio의 자식 프로세스 디버깅
13719정성태8/28/20247095Linux: 79. C++ - pthread_mutexattr_destroy가 없다면 메모리 누수가 발생할까요?
13718정성태8/27/20248962오류 유형: 921. Visual C++ - error C1083: Cannot open include file: 'float.h': No such file or directory [2]
13717정성태8/26/20248546VS.NET IDE: 192. Visual Studio 2022 - Windows XP / 2003용 C/C++ 프로젝트 빌드
13716정성태8/21/20247685C/C++: 167. Visual C++ - 윈도우 환경에서 _execv 동작 [1]
13715정성태8/19/20248869Linux: 78. 리눅스 C/C++ - 특정 버전의 glibc 빌드 (docker-glibc-builder)
13714정성태8/19/20247472닷넷: 2295. C# 12 - 기본 생성자(Primary constructors) (책 오타 수정) [3]
13713정성태8/16/20249017개발 환경 구성: 721. WSL 2에서의 Hyper-V Socket 연동
13712정성태8/14/20248300개발 환경 구성: 720. Synology NAS - docker 원격 제어를 위한 TCP 바인딩 추가
13711정성태8/13/20248783Linux: 77. C# / Linux - zombie process (defunct process) [1]파일 다운로드1
13710정성태8/8/20249380닷넷: 2294. C# 13 - (6) iterator 또는 비동기 메서드에서 ref와 unsafe 사용을 부분적으로 허용파일 다운로드1
13709정성태8/7/20248698닷넷: 2293. C# - safe/unsafe 문맥에 대한 C# 13의 (하위 호환을 깨는) 변화파일 다운로드1
13708정성태8/7/20248959개발 환경 구성: 719. ffmpeg / YoutubeExplode - mp4 동영상 파일로부터 Audio 파일 추출
13707정성태8/6/20248914닷넷: 2292. C# - 자식 프로세스의 출력이 4,096보다 많은 경우 Process.WaitForExit 호출 시 hang 현상파일 다운로드1
13706정성태8/5/20248687개발 환경 구성: 718. Hyper-V - 리눅스 VM에 새로운 디스크 추가
13705정성태8/4/20248926닷넷: 2291. C# 13 - (5) params 인자 타입으로 컬렉션 허용 [2]파일 다운로드1
13704정성태8/2/20249643닷넷: 2290. C# - 간이 dotnet-dump 프로그램 만들기파일 다운로드1
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...