본문 바로가기

코드조각6

엑셀 테이블에서 공백 컬럼 있는지 체크하는 코드 샘플 c# 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(.. 2018. 6. 16.
c++ 문자열 스플릿 #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.. 2018. 5. 10.
[c++] 멤버 함수 대리 호출(Invoke) template < typename Result, typename Type, typename ...Args >LeafNodeBuilder& Invoke(Result(Type::*func), Args&&... args){Type* const behaviorNode = (Type*)GetBehaviorNode();(behaviorNode->*func)(args...);return *this;} 행동 트리 빌더(Behavior Tree Builder) 구현 중 리프 노드의 대리 호출을 위해서 구현되었었다. 2017. 7. 11.
Parse std::string with boost ptree 1234567891011121314151617181920212223#include #include #include #include #include namespace pt = boost::property_tree; std::string ss = "{ \"item1\" : 123, \"item2\" : 456, \"item3\" : 789 }"; int main(){ // Read json. pt::ptree pt2; boost::iostreams::array_source as(&ss[0], ss.size()); boost::iostreams::stream is(as); pt::read_json(is, pt2); std::cout 2016. 6. 16.