OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2013年4月23日火曜日
std::string を wchar_t*に変換する
認識結果を232C経由で他の装置に送るとき、シリアル通信を扱うことになる
シリアル通信は、Windows7になっても抽象化されていなく、CreateFileを使用してhandleを取得してアクセスしなければならない
古い資料では、アクセス対象となるファイルの指定には、LPCTSTR lpFileNameを用いることになっているが、Windows7では、LPCWSTRを指定する必要がある。
要求を満たすのであれば、L"COM3"のようにソースに固定値を埋め込めばよい
しかし、OpenCVのファイルストレージを使用する場合、扱える型がstd::stringなので、LPCWSTR(wchar_t*)に変換する必要がある。
std::string portname("COM7");
WCHAR wString[16];
size_t wLen = 0;
errno_t err = 0;
//ロケール指定
setlocale(LC_ALL,"japanese");
err = mbstowcs_s(&wLen, wString, 10, portname.c_str(), _TRUNCATE);
以上
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿