티스토리 뷰
안녕하세요.
신랑각시의 신랑 입니다.
일하면서 간혹 파일이 존재하는 디렉토리를 삭제해야 하는 경우가 생깁니다.
아래 주석 부분은, man page 를 참조하여 callback 함수의 parameter 별 의미를 확인하고자 적어 놓은 것 입니다.
실제 사용에서는 삭제해도 무방할 듯 합니다.
(저는 항상 잊어 버리기 때문에 그냥 주석 처리 상태로 올립니다. )
#include <iostream> #include <string> #include <ftw.h> #include <sys types.h> #include <sys stat.h> #include <unistd.h> #include <errno.h> #include <cstring> int main(int argc, char * argv[]) { if(argc != 2) { std::cout << "invalid argument" << std::endl; return 0; } if(nftw(argv[1], [](const char * fpath, const struct stat * sb, int tflag, struct FTW * ftwbuf) -> int { /*- // START - 테스트를 위함 //// if(tflag == FTW_F) std::cout << " FILE "; else if(tflag == FTW_DP) std::cout << " DIR "; else if(tflag == FTW_DNR) std::cout << " unreadable DIR "; else if(tflag == FTW_SL) std::cout << " LINK "; else if(tflag == FTW_NS) std::cout << " NS"; else { std::cout << "# " << FTW_F << " "; std::cout << " " << tflag << " "; } std::cout << " LEVEL:" << ftwbuf->level << " "; std::cout << " PATH: " << fpath << " "; std::cout << " BASE: " << ftwbuf->base << " "; std::cout << " LAST: " << fpath + ftwbuf->base << std::endl; // END //////////////////////// -*/ int ret = remove(fpath); std::cout << "REMOVE : " << ret << " NAME:" << fpath << std::endl; return 0; }, 2, FTW_DEPTH | FTW_MOUNT | FTW_PHYS) != 0) { std::cout << "nftw fail " << errno << ":" << strerror(errno) << std::endl; return 0; } std::cout << "success" << std::endl; return 0; }
'일하면서' 카테고리의 다른 글
[short code] 8 byte endian 변환 (0) | 2017.12.26 |
---|---|
[short code] 반복적인 ftp 작업을 one command 로 (0) | 2017.12.11 |
[short code] BCD encoding (0) | 2017.12.05 |
[필요해서 만든 코드] - 포트 포워딩 (port forwarding) (0) | 2017.11.30 |
[short code] c++ for vs map vs unordered_map 중 누가 빠를까? (0) | 2017.11.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 8byte endian 변환
- ftp 자동접속 스크립트
- IPv6 IPv4 Dual client
- ssh key 만들기
- IPv4 and IPv6
- endian
- IPv6 echo server
- 엔디안 변환
- socket program
- 8 byte 엔디안 변환
- FTW
- ipv6 socket program
- endian 변환
- IPv6 socket
- ftp 스크립트
- std:map
- 서버 경유
- forwarding
- c++
- ftp 자동접속
- ssh key
- IPv6 server
- IPv6
- short code
- IPv6 client
- remove
- client socket
- 엔디안
- BCD 변환
- sftp 자동접속
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함