scrap book

( ..)φメモメモ

(C#)Enumからstringへの変換

c#

よくあるEnumからstringへの変換。世の中に大量に公開されている正解をツギハギして自分にちょうどいいものを探ってみた。 属性定義と拡張メソッドが必要だった。属性定義はDisplayNameAttributeがEnumメンバに付与できないので必要で、拡張メソッドは簡単に…

自前ヘキサダンプ関数

バイナリデータをバイナリエディタ風というかtcpdump風というかそんな感じに16進数で表示する関数。実装はC++11。やりたかったことはできた気がするけど気がしただけだった。ちょっと直す必要がある。あとソースコードが汚い。 ソースコード 結果 ソースコー…

vector<string>をexecv()に渡す

掲題のコード。正直いまいち分かってない。 ソース 結果 ソース #include <unistd.h> #include <vector> #include <string> using namespace std; int main(void) { vector<string> argList = { string("/bin/echo"), string("a"), string("b") }; const char **argv = new const char*[argList</string></string></vector></unistd.h>…

boostでiniファイルを読み込んでmapに詰め込む

いつも地味に面倒なiniからの読み込みを簡単にするためにboost::property_treeでiniファイルを読み込んでmap<string,string>に詰め込むサンプル。 読み込むiniファイル(sample.ini) ソース(おためし) 結果 ソース(本題) 結果 ソース(おまけ) 読み込むiniファイル(s</string,string>…

std::queue::pop()はデストラクタがあれば呼び出す

std::queue::pop()はデストラクタを呼び出す。しかしポインタ型を格納した場合は例外。 ポインタ型そのものがデストラクタを持っていないため、らしい。 逆に実体をpop()するとスコープ抜けたときとあわせて2回呼ばれることになる。code.cpp #include <queue> #incl</queue>…

null文字のないchar[]の変換メモ

null文字のないchar[]の変換メモ。面倒code.cpp #include <iostream> #include <sstream> #include <iomanip> #include <boost/lexical_cast.hpp> using namespace std; using namespace boost; // print 'lexical_cast'ed cstr void casttest( const char* cstr ) { cout << "[" << cstr << "]" << endl; try { c</boost/lexical_cast.hpp></iomanip></sstream></iostream>…