任意の MBCS エンコーディングの文字列を含むテキスト ファイルを読み取る必要があります。ファイルのフォーマット(簡略化)は次のようになります。
CODEPAGE "STRING"
CODEPAGE STRING
...
ここで、CODEPAGE は任意の MBCS コードページです: UTF-8、cp1251 (キリル文字)、cp932 (日本語) など。
MultiByteToWideChar への 1 回の呼び出しでファイル全体をデコードできません。引用符の間、またはスペースまたは改行まで文字列を抽出し、抽出された文字列で MultiByteToWideChar を呼び出す必要があります。
ただし、MBCS (マルチバイト コーディング スキーム) では、1 つの文字を複数のバイトで表すことができます。マルチバイトでエンコードされたファイルでラテン語の「A」を検索したい場合、コード 65 だけを検索することはできません。
そのため、MBCS 文字列で「"」またはスペースまたは CR を検索できるかどうかわかりません。いくつかのコードページを参照しました (たとえば、中国語の 936 コードページ: https://ssl.icu-project.org/icu- bin/convexp?conv=windows-936-2000&s=ALL ) そして、すべての末尾のバイトが 0x40 から始まるのを見る限り、句読点文字のファイルをスキャンしても安全です。