私の入力は Unicode 文字です。たとえば、「(U+00DB) (U+0081)」(wchar_t*) です。wcstombs を使用して、このワイド char 文字列を char * (MBCS) に変換します。Unicode はすでに UTF-8 でエンコードされているため、バイトごとにコピーされた Unicode のシーケンスを DB81 char* として返すことを期待しています。しかし、代わりに c3 9b を取得します。これは Linux と Windows で発生しており、「DB 81」のみが表示されます。
(hexdump に示されているように) DB 81 という名前のファイルを開く必要がありますが、fopen は char* ファイル名を使用します。したがって、この wchar_t* を MBCS に変換する必要があります。助けてください!!