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でファイル出力。
テキスト書いて、
メニューの"Save"で保存。
これが出て、
保存されたファイルは、なぜか1行ずつ空いてる。二重改行か?
いや、これはGetWindowTextで取得したテキストの改行コードが"\r\n"に対し、fopenのテキストモードは"\n"を"\r\n"に変換するので、出力ファイルが"\r\r\n"になってしまっている。