CFile::~CFile(デストラクタ)

デストラクタを実装する。
File.hは、

こう書く。
File.cppは、

デストラクタではCloseするだけ。
main.cppは、

こう書く。
delete pFileだけで済み、pFile->Closeが不要になった。

deleteする時、
deleteする時、

deleteする時、

Close呼ぶので、終了処理出来てる。
Close呼ぶので、終了処理出来てる。

Close呼ぶので、終了処理出来てる。

Test/winapi/CFile/~CFile/src/CFile at master · bg1bgst333/Test · GitHub

CFile

CFileでファイルを操作する。
コンストラクタを実装する。
File.hは、

こう書く。
File.cppは、

コンストラクタはこう書く。
main.cppは、

こう書く。

コンストラクタでメンバの初期化をしている。
コンストラクタでメンバの初期化をしている。

コンストラクタでメンバの初期化をしている。

Test/winapi/CFile/CFile/src/CFile at master · bg1bgst333/Test · GitHub

CFile::Close

CFile::Closeでファイルを閉じる。
File.hは、

こう書く。
File.cppは、

Closeはこう書く。
main.cppは、

こう書く。

ここに来る。
ここに来る。

ここに来る。
中に入ると、

ハンドルを破棄したり、ファイル名をクリアしたり。
ハンドルを破棄したり、ファイル名をクリアしたり。

ハンドルを破棄したり、ファイル名をクリアしたり。

Test/winapi/CFile/Close/src/CFile at master · bg1bgst333/Test · GitHub

CFile::Open

CFile::Openでファイルを開く。
File.hは、

こう書く。
File.cppは、

Openはこう書く。
相対パスを指定されたら、絶対パスを取得する。
main.cppは、

こう書く。

こうなる。
こうなる。

こうなる。

Test/winapi/CFile/Open/src/CFile at master · bg1bgst333/Test · GitHub

CFileDialog(フィルター)

フィルターが上手く動作するように実装する。
CFileDialogのプロジェクトで、string_utility_cstring.hとstring_utility_cstring.cを追加し、FileDialog.cppで、

replace_wbyte_allで、m_tszFilterの'|'を'\0'に置換する。
MainWindow.cppで、

"Text Files(*.txt)|*.txt|All Files(*.*)|*.*||"というフィルター文字列をセット。

Item2-1を押すと、
Item2-1を押すと、

Item2-1を押すと、

Text Filesだとこう。
Text Filesだとこう。

Text Filesだとこう。

All Filesだとこうなる。
All Filesだとこうなる。

All Filesだとこうなる。

Test/winapi/CFileDialog/CFileDialog_1/src/CFileDialog at master · bg1bgst333/Test · GitHub

replace_wbyte_all(Windows(C++))

C++から呼び出す。
string_utility_cstring.hは、

として、string_utility_cstring.cは、

とする。
main.cppは、

とする。

こうなる。
こうなる。

こうなる。

Test/cpp/replace_wbyte_all/call_from_cpp_Windows/src/replace_wbyte_all at master · bg1bgst333/Test · GitHub