任意のバイト数の文字列の読み込み

解決


すーさん  2003-06-20 10:20:03  No: 107575  IP: [192.*.*.*]

ファイルから任意のバイト数の文字列を読み込みたいのですがどうすればいいのでしょうか?固定長文字列だと文字数になるんですよね?
バイナリ形式でファイルを開くしかないのでしょうか?バイナリで開いた後の
文字列の変換もわからないし、、、、お手上げです。
誰かご教授お願いいたします。

編集 削除
Say  2003-06-20 10:57:52  No: 107576  IP: [192.*.*.*]

>固定長文字列だと文字数になるんですよね?
VB内ではUnicodeで処理します。
Unicodeでは必ず1文字=2bytesですから、
Dim strBuffer As String * 12
とすると12文字 = 24bytes 確保したことになります。

おそらく、質問にある「バイト数」はUnicodeでなく、
Shift JISでのバイト数だと思いますが・・・。

通常、テキストファイルはShift JISで保存されています。
バイナリでバイト指定して読み込んだあと、
StrConvでUnicodeに変換できます。

また、一旦テキストとして読み込んでおき、
バイト数で数えたいときにStrConvでShift JISに変換して数え、
数え終わったらStrConvでUnicodeに戻す、という方法もあります。

編集 削除
すーさん  2003-06-20 11:13:20  No: 107577  IP: [192.*.*.*]

Sayさんご返事ありがとうございます。
Sayさんのおかげで無事解決することができました。
すごく簡単にできるんですね、悩んでたのが恥ずかしいぐらいです。

ありがとうございます。

編集 削除