프로그래밍/코드 조각
-
boost/asio simple periodic timer프로그래밍/코드 조각 2019. 3. 4. 12:28
#include #include #include class PeriodicTimerExample{public: PeriodicTimerExample() : timer{ctx} { } void run() { tick(); ctx.run(); } private: void tick() { using namespace std; timer.expires_after(3s); timer.async_wait([this](const auto & err) { cout
-
c++, istream으로 읽은 개수 반환 gcount프로그래밍/코드 조각 2019. 1. 19. 12:21
readsome이 아니다. auto MakeHash(std::istream& is){ std::array fileHash; SHA256_CTX ctx; SHA256_Init(&ctx); char buf[512]{ 0, }; while (is.good()) { is.read(buf, sizeof(buf)); const int cnt = is.gcount(); SHA256_Update(&ctx, buf, cnt); } SHA256_Final(fileHash.data(), &ctx); return fileHash;}gcount는 마지막으로 읽어난 엘리먼트의 개수를 반환한다.
-
error_code 정의 참고 코드 조각프로그래밍/코드 조각 2018. 10. 28. 00:59
enum class VerificationErrc{ //Algorithms provided does not match with header InvalidAlgorithm = 1, //Token is expired at the time of decoding TokenExpired, //The issuer specified does not match with payload InvalidIssuer, //The subject specified does not match with payload InvalidSubject, //The field IAT is not present or is of invalid type InvalidIAT, //Checks for the existence of JTI //if val..
-
c++에서의 패킷 핸들러 바인딩프로그래밍/코드 조각 2018. 10. 21. 23:43
#include #include #include using namespace std; namespace packet{ enum class Type : unsigned short { None = 0, Login = 1, Logout = 2, }; struct Header { std::uint16_t size; Type type; }; struct Login { char id[20]; std::uint8_t len; };} std::map handlers; template void bind(packet::Type type, void(*handler)(int, const PayloadType&)){ handlers[type] = [handler](int network..
-
엑셀 테이블에서 공백 컬럼 있는지 체크하는 코드 샘플 c#프로그래밍/코드 조각 2018. 6. 16. 12:15
private void btnEmptyCheck_Click(object sender, EventArgs e){ var app = new Excel.Application(); try { var checkedFileNames = CheckedFileNames; int count = checkedFileNames.Count; int prog = 0; foreach (string fileName in checkedFileNames) { string fullPathName = Path.Combine(Path.GetFullPath(path), fileName); CheckEmptySpace(app, fullPathName); string completeMessage = fileName + string.Format(..
-
c++ 문자열 스플릿프로그래밍/코드 조각 2018. 5. 10. 19:59
#include #include #include std::vector SplitString(const std::string& source, const std::string& spliters){ const std::regex r{ spliters }; std::sregex_token_iterator begin{ source.begin(), source.end(), r, -1 }; std::sregex_token_iterator end{}; std::vector tokens; tokens.reserve(std::distance(begin, end)); for (auto i = begin; i != end; ++i) { tokens.push_back(*i); } return tokens;} 샘플 코드int m..