読者です 読者をやめる 読者になる 読者になる

Aoi #16 テキストファイル書き込みに文字コード変換を含める

WindowsAPI Application B.G-STATION

これまでも、プログラムで扱うワイド文字(UNICODE)から書き込むときのマルチバイト文字(Shift_JIS)に文字コード変換していたが、CMainMenuBar::OnFileSaveAsの中で煩雑に文字コード変換を行っていたので、今度はCTextFileクラスで文字コード変換も含めてファイル書き込みをする・・・。

TextFile.hは、

列挙型EncodeTypeを定義・・・。
m_eEncodeTypeはこの列挙型の変数・・・。
とりあえずは、SHIFT_JISとUTF_16LEのどちらかに・・・。

TextFile.cppは、

EncodeType::SHIFT_JISの場合、WideCharToMultiByteで文字コード変換して、CBinaryFile::Writeで書き込む・・・。
今回はこれだけ・・・。

MainMenuBar.cppは、

CTextFileでファイル書き込みを行う・・・。
文字コード変換をCTextFileの中でやっているのですっきり・・・。

f:id:BG1:20170220010310p:plain

と入力し、

f:id:BG1:20170220010408p:plain

名前を付けて保存で、

f:id:BG1:20170220010447p:plain

このようにShift_JISで保存されてる・・・。

・テキストファイル書き込みに文字コード変換を含める · bg1bgst333/Aoi@ee4018a · GitHub