• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++: ソースコードから16進数のみ抽出)

VC++: ソースコードから16進数のみ抽出

このQ&Aのポイント
  • 「VC++: ソースコードから16進数のみ抽出」というタイトルで、C++のソースコードから16進数のみを抽出したいと質問しています。
  • C#からC++への変換を試みている質問者ですが、摘出方法Aでは実行時エラーが発生し、摘出方法Bではコンパイルエラーが発生しています。
  • コードの修正についてアドバイスを求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.2

回答者はあなたの前の質問なんてわからないから前の質問のリンクを付けるなりなんなりしないと。 実行環境が無いのとC++/CLIはあまり詳しくないので見た感じで。 A: 一致した結果が無いからでは? C#では文字列リテラルの前に@をつけると\を文字として認識しますが、C++ではそのままではエスケープ文字として認識するような気が。 \\にする必要があるのでは? 直列にResult()を呼ばないで、Successプロパティを確認してみては? http://msdn.microsoft.com/ja-jp/library/system.text.regularexpressions.group.success.aspx B: string->Empty じゃなくて、 String->Empty なのでは? http://msdn.microsoft.com/ja-jp/library/system.string.empty%28v=vs.110%29.aspx

stokyostokyo3
質問者

お礼

前略 ・再度、さっそくのアドバイス・ご教示をいただきありがとうございます。アドバイス・ご教示にしたがってコードを修正したところ、両方式ともC#と同じ実行結果を得ることができました。 >回答者はあなたの前の質問なんてわからないから前の質問のリンクを付けるなりなんなりしないと。 ・質問の構成が不明瞭で、またリンクを貼るアイデアが頭に浮かばず申し訳ありませんでした。今後、このような場合はリンクを活用したと思います。 //--------------------------------------- <摘出方法A>: >\\にする必要があるのでは? ・\ → \\ に変更したら、C#と同じ実行結果を得ることができました。以下に実行したソースコードを記載します。 Regex^ re = gcnew Regex("\\{(?<moji>[0-9A-Fa-fx\\r\\s,]+)\\}"); String^ st = re->Match(richTextBox1->Text)->Result("${moji}")->TrimStart()->TrimEnd(); MessageBox::Show(st); //----------------------------------------------------------------- <抽出方法B>: >string->Empty じゃなくて、String->Empty ・string->Empty → String::Empty に変更したら、コンパイルできて、C#と同じ結果を得ることができました。以下に実行したソースコードを記載します。 Regex^ r = gcnew Regex("0x[0-9a-fA-F][0-9a-fA-F],( |\r\n)", System::Text::RegularExpressions::RegexOptions::IgnoreCase); Match^ m = r->Match(richTextBox1->Text); richTextBox1->Text = String::Empty; while (m->Success) { richTextBox1->Text += m->Value; m = m->NextMatch(); } 以上、今後ともよろしくお願いします

その他の回答 (1)

回答No.1

16進数の並んだファイル hex.txt を作っておいて、 const char __GOLFontDefault[] = { #include "hex.txt" }; ってやっちゃダメですか?

stokyostokyo3
質問者

お礼

前略 ・さっそくのアドバイスありがとうございます。 >16進数の並んだファイル hex.txt を作っておいて......... ・マイコンのソースコードファイルの中から ”16進数の並んだファイル hex.txt”をプログラムで自動的につくるのがプログラムの目的です。  あるマイコンの漢字フォント作成に挑戦しています。その過程でソースコードからパソコンやマイコンのフォント構造体から イメージデータ部分だけを抽出しようとしているところです。 以上

関連するQ&A