print_file_text_cstdio(Win32デスクトップアプリでの使用)

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"で保存
メニューの"Save"で保存

メニューの"Save"で保存。

これが出て
これが出て

これが出て、

1行ずつ空いてる。二重改行か。
1行ずつ空いてる。二重改行か。

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

Test/winapi/file_utility_cstdio/print_file_text_cstdio/src/file_utility_cstdio at master · bg1bgst333/Test · GitHub