- Win32API質問箱 Build120©2ch.net
365 :デフォルトの名無しさん[sage]:2015/05/15(金) 06:41:01.84 ID:w0X/ZpcK - WinMainの中で
AllocConsole(); してprintf出力しているのですが、 別スレッドを作成して、その中でもprintfしたところ、 このコンソールには出ませんでした。 どうすれば別スレッドからもこのコンソールに出せますか?
|
- Regular Expression(正規表現) Part13©2ch.net
252 :デフォルトの名無しさん[sage]:2015/05/15(金) 07:00:13.95 ID:w0X/ZpcK - https://msdn.microsoft.com/ja-jp/library/bb982821.aspx
の // (3) with wchar_t* const wchar_t* target3 = L"2014-04-02"; wcmatch wideMatch2; // LR"(...)" is a raw wide-string literal. Open and close parens // are delimiters, not string elements. wregex wrx2(LR"(\d{4}(-|/)\d{2}(-|/)\d{2})"); if (regex_match(target3, wideMatch2, wrx2)) { wcout << L"Matching text: " << wideMatch2.str() << endl; } を改造して、 wregex wrx2(LR"((\d{4})(-|/)(\d{2})(-|/)(\d{2}))"); にしたら、マッチした部分文字列を取り出せたのですが、 取り出したいのは数字だけなのですが、不要なハイホンもマッチ結果に保管されます。 このハイホンはマッチ結果に保存しないようにすることは可能でしょうか? (まあ、ハイホンが保管されても特に問題はないのですが) よろしく。
|
- Regular Expression(正規表現) Part13©2ch.net
254 :デフォルトの名無しさん[sage]:2015/05/15(金) 09:02:09.61 ID:w0X/ZpcK - 上手く行きました。
ありがとうございます。
|
- Regular Expression(正規表現) Part13©2ch.net
256 :デフォルトの名無しさん[sage]:2015/05/15(金) 11:05:59.72 ID:w0X/ZpcK - 追加で質問なのですが、
"2014-04-02-432-6563-423-12321-131" "24-0-02-2-656" みたいに、いくつかの数字がハイホンで連結されている場合には wregex wrx2 の部分をどのように書けば、全ての数字をマッチ結果に保存できますか?
|
- Regular Expression(正規表現) Part13©2ch.net
258 :デフォルトの名無しさん[sage]:2015/05/15(金) 11:58:58.81 ID:w0X/ZpcK - >ハイフンをヌル置換じゃダメ
うまく行きませんでした。 数字の桁数が2ケタとか4ケタとか固定じゃなくて、 任意の場合の記述方法が分かりません。
|
- Regular Expression(正規表現) Part13©2ch.net
261 :デフォルトの名無しさん[sage]:2015/05/15(金) 12:49:41.72 ID:w0X/ZpcK - wregex wrx2(LR"((\d*\d)(?:-)(\d*\d)(?:-)(\d*\d)(?:-)(\d*\d)(?:-)(\d*\d).*)");
って書いたら、最初の5つまでは取得できましたが、 これを任意の回数にマッチさせるパターンの書き方が分かりません。
|
- Regular Expression(正規表現) Part13©2ch.net
267 :デフォルトの名無しさん[sage]:2015/05/15(金) 17:37:55.67 ID:w0X/ZpcK - みなさん、いろいろとアドバイスありがとうございました。
自分でも試行錯誤しましたが、結局断念しました。 >>264 >なにも一発で求めなくてもC言語ならループさせるなりどうとでもできるだろ そうですね。そうします。
|
- Win32API質問箱 Build120©2ch.net
376 :デフォルトの名無しさん[sage]:2015/05/15(金) 19:46:23.99 ID:w0X/ZpcK - >>369
サンプルプログラム有難うございました。 無事にうごきました。別スレットからConsoleに出力できました。 大変助かりました。感謝です。 本件とは無関係ですが、この自作プログラムの中で printfやcoutしている箇所がいくつかあるのですが、プログラムを 実行していると、ある時点から改行されずに、横につながって出力 されてしまうおかしな症状が出て悪戦苦闘しています。 printf("\n");や cout<<endl;でも 改行しなくなるなるんです。 こんな症状は初めてで、何がおかしいか心当たりが全くありません。 今回の別スレッドプリント機能を追加する前からそうなっていました。 もし何か解決のヒントありましたらアドバイスよろしく。
|
- Win32API質問箱 Build120©2ch.net
380 :デフォルトの名無しさん[sage]:2015/05/15(金) 20:30:49.43 ID:w0X/ZpcK - >>377
片山さん、 レスありがとうございます。 さっそく CriticalSectionでググッて、たまたま見つけた http://bituse.info/winapi/16 のサンプルをみて、 InitializeCriticalSection() EnterCriticalSection() LeaveCriticalSection() などを追加してみましたが改善されません。 サブスレッドは、 std::packaged_task std::thread を使って作成しています。 も少し何かチェックすべき点などありましたらご指導お願いします。
|