Win32デスクトップアプリから、print_file_text_cstdioを呼び出す。
メニューリソースを追加し、resource.hを、
こうして、file_utility_cstdio.rcを、
こうする。
MainWindow.hで、
"resource.h"のインクルード追加、OnFileSaveハンドラも追加。
MainApplication.cppは、
CMainWindow::RegisterClassでメニューIDR_MAINMENUも指定。
MainWindow.cppは、
extern "C"で、"file_utility_cstdio.h"をインクルード。
ハンドラの追加と削除。
OnFileSaveは、
取得したテキストをマルチバイト文字列に変換して、print_file_text_cstdioでファイル出力。
![テキスト書いて](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20231022/20231022142950.png)
テキスト書いて、
![メニューの"Save"で保存](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20231022/20231022143108.png)
メニューの"Save"で保存。
![これが出て](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20231022/20231022143200.png)
これが出て、
![1行ずつ空いてる。二重改行か。](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20231022/20231022143320.png)
保存されたファイルは、なぜか1行ずつ空いてる。二重改行か?
いや、これはGetWindowTextで取得したテキストの改行コードが"\r\n"に対し、fopenのテキストモードは"\n"を"\r\n"に変換するので、出力ファイルが"\r\r\n"になってしまっている。