원래 boost에 있던 라이브러리가 이번에 C++11에서 표준으로 추가되어 매우 기분이 좋습니다.정규식을 사랑하는 한 사람으로서 auto 만큼이나 기쁜 소식이네요. 그래서 간단한 사용법을 정리해 둡니다.flag들까지 하면 기능이 좀 다양한데, 이번에는 회사 저녁먹는 시간이니까... 정규식 검색에 사용되는 객체는 다음과 같습니다. - std::regex - std::smatch - std::ssub_match 그리고 정규식 검색에 사용되는 함수는 - std::regex_match - std::regex_search - std::regex_replace 이렇게 됩니다. 위의 객체와 함수만 있으면 문자열에 정규식을 이용할 수 있습니다. std::regex_match 우선은 std::regex_match를 살펴..
----------------------------------------------------------------------- 윈속의 초기화 윈속의 초기화화 종료 처리 WSAStartup, WSACleanup 윈속의 기능을 이용하기 전에는 반드시 윈속의 초기화를 해야된다. 윈속의 초기화는 WSAStartup()으로 한다. WSAStartup()은 처음에 한번만 호출하면된다. 윈속의 기능을 종료할때는 WSACleanup()으로 한다. WSACleanup은 일반적으로 프로그램의 마지막이나 종료처리에서 실행된다. ====================================================================== #include int main(){ int nRet; // 윈속 초기..
#include class Timer{private: std::chrono::high_resolution_clock::time_point startTime;public: Timer::Timer(): startTime(std::chrono::high_resolution_clock::now()){} ~Timer(){} typedef std::chrono::duration sec; double Timer::getElapsedTime() //지금까지 흐른 시간 리턴 { return std::chrono::duration_cast(std::chrono::high_resolution_clock::now()-startTime).count(); } void Timer::restart() //다시시작 { startTim..
구글에서 검색을 조금 하다보면 손쉽게 CT2CW() 라던가, CT2W() 같은 매크로를 사용하면 된다는글을 많이 볼 수 있는데, 아래와 같은 방법으로 사용하면 된다. wstring strUni = CA2W("멀티바이트를 유니코드로 변환"); string strMulti = CW2A(L"유니코드를 멀티바이트로 변환"); string strUTF8 = CW2A(L"유니코드를 UTF8로변환",CP_UTF8); (참고로 LPCWSTR은 유니코드고, CString은 프로젝트 설정에 따라 바뀐다.) 그러나 종종 알 수 없는 이유로 (내가 모르는 것일 뿐...) 위 방법으로 변환이되지 않는 경우가 있다. 그럴 경우 MultiByteToWideChar 를 사용하면 된다. * 함수 원형 int MultiByteToWid..
#!/usr/bin/env python import nmap # import nmap.py module nm = nmap.PortScanner() # instantiate nmap.PortScanner object nm.scan('127.0.0.1', '22-443') # scan host 127.0.0.1, ports from 22 to 443 nm.command_line() # get command line used for the scan : nmap -oX - -p 22-443 127.0.0.1 nm.scaninfo() # get nmap scan informations {'tcp': {'services': '22-443', 'method': 'connect'}} nm.all_hosts() # ge..