2017-10-19から1日間の記事一覧

C++ REST SDK find()で得たイテレータのエラー判定

終端と比較して判断 json::value json; ... auto ite = json.as_object().find(U("Hoge")); if ( ite == json.as_object().cend() ) { // 見つからなかった }else{ // 見つかった! } ネタ元 https://stackoverflow.com/questions/23135695/how-to-return-a-…

C++ REST SDK json::valueのイテレータ

オフィシャルのマニュアルに obj.cbegin() とかってかいてあるけど、これはver1.0時代のもの。執筆時点ではobj.as_object().cbegin() のようにas_object()をかます必要ある。 json::value obj; obj[L"key1"] = json::value::boolean(false); obj[L"key2"] = …

C++ REST SDK でjson_exceptionがでて困った時

try-catchで例外捕まえて理由を調べるといいよ。 try { ... } catch (const std::exception& e) { std::wcout << e.what() << endl; }たぶん返ってきてるjsonになにか不備があると思うよ。 ネタ元 https://github.com/Microsoft/cpprestsdk/issues/291

C++ REST SDK websocket_clientのサーバーからのメッセージのコールバックを設定できる版websocket_callback_client がある

こんな感じ。 client.set_message_handler([](websocket_incoming_message msg) { //サーバからのメッセージを処理する... try{ auto is = msg.body(); streams::container_buffer<std::vector<uint8_t>> ret_data; is.read_to_end(ret_data).wait(); const std::vector<uint8_t> &v = ret_</uint8_t></std::vector<uint8_t>…

std::vector<char>をstd::stringに変換する

stdString()を使う。std::vector型の変数vecCharがあるとする。 // -> std::string std::string stdString(vecChar.begin(), vecChar.end()); ネタ元 http://gin0606.hatenablog.com/entry/2013/12/12/162218

VC++で出力コマンドプロンプトにutf-8日本語表示

#include <Windows.h> ... // コマンドプロンプトの文字コードをUTF-8に設定する SetConsoleOutputCP(CP_UTF8); ネタ元 https://qiita.com/ulicknormanowen/items/e253d30c0f4441016ef5</windows.h>