
バイナリファイルを読込み、バイト配列に格納しています。
aaa(0) = 0
aaa(1) = 90
aaa(2) = 0
aaa(3) = 255
aaa(4) = 255
aaa(5) = 0
aaa(6) = 255
この配列から、「FFFF」が見つかった位置を検索したいと考えています。
(上の例で言うと3を取得したい)
現在は配列の最初から最後まで1バイトずつずらして読込み、見つかった場所を特定しています。16進表記の文字列に変換し、文字列として検索する方法も考えましたが、どちらも非効率な気がしています。
他のやり方を知っている方がいましたら教えてください。
[環境]
VB2008,XP32SP3
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんなのではどうでしょう?
Dim aaa(6) As Byte
aaa(0) = 0
aaa(1) = 90
aaa(2) = 0
aaa(3) = 255
aaa(4) = 255
aaa(5) = 0
aaa(6) = 255
Dim idx As Integer = Array.IndexOf(aaa, CByte(255))
MessageBox.Show(idx.ToString)
お返事ありがとうございます。
やりたいことは連続したバイナリデータの検索です。
VBの文字列検索で言うとInStr関数みたいなのをバイト配列でやろうと思っています。
No.1
- 回答日時:
例えば、C言語では、文字列は「文字」の配列、文字は「文字を表わす数値」ですから、文字列探索=配列内の一定パターンの探索です。
つまり、今回の場合は、そのまま文字列探索のアルゴリズムを応用する(というかそのまま使う)とよい、ということです。
http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97% …
このあたりのアルゴリズムが使えます。
そういえばVBのString型も.NETから配列に格納されていた気がします。
まだモヤモヤしていますががんばってみます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
perlで2次元配列をサブルーチ...
-
Dim flag(4) as boolean で配列...
-
隣同士の数字を足し合わせる
-
Strawberry Perl for Windows ...
-
リストボックスに縦スクロール...
-
UWSCに制限時間を付けたいです
-
UWSCの終了の仕方
-
VBのReturnの使い方
-
ボタンが押された時にループか...
-
VB6の公式リファレンスはありま...
-
レインボー色ってどうやって表...
-
ExcelVBAで、index、match関数...
-
Escキーを押すと、中断する時と...
-
C#で別のフォームのprogress ba...
-
データベースをEOFまでループさ...
-
VisualStudioにてモザイクの画...
-
フラグについて
-
Do whileでExitせず、ループの...
-
ループについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
エクセルVBAでTransposeの不思議
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
マクロ Publicでの配列定義
-
クラスに配列を渡す方法
-
リストボックスに縦スクロール...
-
二次元配列のインデックスについて
-
Dim flag(4) as boolean で配列...
-
与えられた配列の順にソートす...
-
Excel VBA ユーザーフォームの...
-
VBA 二次元配列の1つ目を増...
-
プログラミング アルゴリズム
-
複数の配列の全ての組み合わせ...
-
二次元配列における要素数のは...
-
VB6で配列の最大値を簡単に求め...
-
バイナリデータの検索(VB.NET2008)
-
VBA 二次元配列 ループの書き方
-
VBA 多次元配列を用いてグルー...
-
VBA 条件
おすすめ情報