掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
InputB関数でエラーが出ます (ID:102189)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ななさん、ご回答ありがとうございます。 文字コードについての詳しい解説をありがとうございます。 ご紹介頂いたサイトをよく読んでみたいと思います。 なんとか原因が分かりました。 Open FileName For Input As #f・・・① ↑この行を、 Open FileName For Binary Access Read As #f・・・② ↑に変えたらエラーが出なくなりました。 読み込めたので、一文字ずつAsc関数で調べたら、末尾の半角の空白だと思っていた文字はヌル(Chr(0))でした。(GODさんの言われていた「^Z」とは多分ヌルのことだったんでしょうね。) また、 s = InputB(MySize - 1, #f) このようにサイズを1つ減らしてやってもできました。 結局いろいろ考えた結果、InputB関数が「ヌル文字を飛ばして読み込む」という性質をもっているということが原因のようです。(本当かどうか分かりませんが) また、InputB関数は「For Input」でオープンするとヌル文字を飛ばして読み込み、「For Binary Access Read」でオープンするとヌル文字を飛ばさずに読み込むようです。だから「For Input」でオープンするときは、InputB関数の引数に、読み飛ばしたヌル文字の数だけ差し引いたサイズを与えてやらないといけないみたいです。 もうこの自作関数を使うこと自体をやめようかと思っております。 ななさんや他の皆さんはテキストファイルを文字列変数に読み込みたいときどのようにされていますか? (外部コンポーネントを使わない方法で)安全で確実で高速な方法を教えて頂ければと思っております。 よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.