• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GetPrivateProfileString変値)

GetPrivateProfileString変値でのINIファイルの読み込みで戻り値がおかしい理由

このQ&Aのポイント
  • vb6.0でのGetPrivateProfileStringによるINIファイルの読み込みで、GetPrivateProfileStringの戻り値が期待通りにならない場合があります。
  • 具体的には、INIファイルのキーに対応する値を取得する際、取得した値の文字列の末尾に意図しないスペースなどの余分な文字が含まれることがあります。
  • これは、.iniファイルの最後にvbNullChar+スペースが自動的に追加されることが原因であり、この追加された不要な文字が戻り値に含まれるためです。

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

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.2

標準APIに全角文字なんて概念はありません(日本独特のものだから) 全角含む文字数として認識させたいのであれば独自に処理する必要があります 全角1文字=2バイト って理解してればあってますよね

kyolly
質問者

お礼

ありがとうございます。 理解できました。 GetPrivateProfileStringの戻り値を使って、mid関数にて文字列取り出していたため、 全角を1とカウントするか、2とカウントするかの違いが出てたようです。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

大ざっぱに言えば、その値は「シフトJISで表現した時のバイト数」です。 ある意味、as isです。

kyolly
質問者

お礼

ありがとうございます。 理解できました。 GetPrivateProfileStringの戻り値を使ってMID関数にて取り出し処理をしていたので GetPrivateProfileStringの文字列のカウントとMID関数の文字列カウントのカウントの違いが 出てたみたいでした。

すると、全ての回答が全文表示されます。

関連するQ&A