S-JIS[2002-12-15/2008-08-23]

ファイル関連

ファイルの操作や属性に関するクラスや関数の一覧です。


ファイルのデータ操作

プログラムでファイルのデータを読み書きする関数です。
ファイル名を指定してオープンし、読み書き等のデータ操作を行ってクローズします。

名称 MFC API 説明
オープン CFile::Open CreateFile ファイルを開く・作成する。
長さ取得 CFile::GetLength GetFileSize ファイルの長さを取得する。
データ読み込み CFile::Read ReadFile ファイルからデータを読み込む。
データ書き込み CFile::Write WriteFile ファイルにデータを書き込む。
文字列読み込み CStdioFile::ReadString - ファイルからテキストデータを1行毎に読み込む。
文字列書き込み CStdioFile::WriteString - ファイルにテキストデータを1行毎に書き込む。
フラッシュ CFile::Flush FlushFileBuffers ファイルに(バッファ内のデータを)書き込む。[2006-08-23]
クローズ CFile::Close CloseHandle ファイルを閉じる。
データ位置取得 CFile::GetPosition SetFilePointer 現在のファイルポインタ(現在のデータ読み書き位置)を取得する。
データ位置移動 CFile::Seek SetFilePointer ファイルポインタを指定位置へ変更する。
最終位置へ移動 CFile::SeekToEnd SetEndOfFile ファイルポインタをファイルの最後尾に変更する。
属性の取得 CFile::GetStatus GetFileAttributes ファイルの属性情報を取得する。
属性の設定 CFile::SetStatus SetFileAttributes ファイルの属性情報をセットする。

ファイル操作

プログラムでファイルやディレクトリを操作する関数です。
MS-DOSプロンプトのコマンドに相当する動作を行います。

名称 MFC API 説明 備考
ファイルの作成 CFile::Open   CreateFile ファイルを作成する。 -
ファイルのコピー -   CopyFile ファイルをコピーする。 DOSのcopyに相当
ファイル名の変更 CFile::Rename   MoveFile ファイル名を変更する。 DOSのrenに相当
ファイルの移動 -   MoveFileEx ファイルを移動する。 DOSのmoveに相当
ファイルの削除 CFile::Remove   DeleteFile ファイルを削除する。 DOSのdelに相当
ディレクトリの作成 - _mkdir CreateDirectory
CreateDirectoryEx
ディレクトリを作成する。 DOSのmkdirに相当
ディレクトリ名の変更 -   MoveFile ディレクトリ名を変更する。 (DOSのrenに相当)
ディレクトリの移動 -   MoveFileEx ディレクトリを移動する。 (DOSのmoveに相当)
ディレクトリの削除 - _rmdir RemoveDirectory ディレクトリを削除する。 DOSのrmdirに相当

カレントディレクトリの取得・変更


属性操作

プログラムでファイルやディレクトリ等の属性を操作する関数です。
ファイル名やドライブ名を指定して、情報取得やセットを行います。

名称 MFC API 説明
ファイルの属性取得 CFile::GetStatus GetFileAttributes ファイルの属性情報(隠しファイル・読み込み専用・ディレクトリかどうか等)を取得する。
ファイルの属性設定 CFile::SetStatus SetFileAttributes ファイルの属性情報をセットする。
アクセス権取得 _access ファイルの読み込みや書き込みのアクセス権の有無を取得する。
ファイル情報の取得 - SHGetFileInfo ファイルのアイコン等の情報を取得する。
アイコンの取得 - ExtractAssociatedIcon 実行ファイル内にあるアイコンや、関連付けられているファイルのアイコンを取得する。
ボリューム情報の取得 - GetVolumeInformation ボリュームの情報を取得する。
ボリュームラベルの設定 - SetVolumeLabel ボリュームのラベルをセットする。
ドライブ情報の取得 - GetDriveType ドライブの種類(CD-ROMかネットワークか等)や状態(ディスクを抜けるか)等の情報を取得する。
空き容量の取得 - GetDiskFreeSpace ディスクの空き容量等の情報を取得する。

ダイアログ

ファイル操作関連のダイアログです。

名称 MFC API 説明
開くファイル選択 CFileDialog GetOpenFileName ファイルオープン用のダイアログ
保存ファイル選択 CFileDialog GetSaveFileName ファイル保存用のダイアログ
ディレクトリ選択 - SHBrowseForFolder ディレクトリを選択する為のダイアログ
ファイル操作 - SHFileOperation 進行状況を表示するダイアログを表示して、ファイルのコピー・移動・削除を行う。

パス名取得(検索・環境情報)

ファイルを検索したり、システム環境に依存するパス名を取得する関数です。

名称 API 説明
ファイル検索 FindFirstFile
FindNextFile
FindClose
指定されたディレクトリの中から、指定されたワイルドカードに一致するファイル(複数)を検索する
ファイル検索 SearchPath 指定されたディレクトリの中から、ファイル(1つ)を検索する。
ディレクトリを指定しない場合は、システムディレクトリ等から検索する。(実行ファイルやiniファイルの検索が主な用途か?)
実行中のファイル名取得 GetModuleFileName 実行中のプロセスを作り出したファイルのパス名を取得する。
カレントディレクトリの取得 GetCurrentDirectory カレントディレクトリのパス名を取得する。
カレントディレクトリのセット SetCurrentDirectory カレントディレクトリを変更する。
_chdrive
_chdir
カレントドライブ・カレントディレクトリを変更する[2006-08-23]
一時作業ディレクトリの取得 GetTempPath 一時ファイルの為のディレクトリとして指定されているパス名を取得する。
一時ファイル名の取得 GetTempFileName 一時ファイル名を取得する。[2008-08-23]
Windowsディレクトリの取得 GetWindowsDirectory Windowsディレクトリのパス名を取得する。
システムディレクトリの取得 GetSystemDirectory Windowsのシステムディレクトリのパス名を取得する。
ドライブ一覧の取得 GetLogicalDrives ドライブ一覧をビットマスク形式で取得する。
ドライブ文字列一覧の取得 GetLogicalDriveString ドライブ一覧を文字列形式で取得する。

パス名文字列操作

パス名の文字列を操作する関数です。

名称   関数名 説明
パス名の分解 ? _splitpath パス名を、ドライブ名・ディレクトリ名・ファイル名・拡張子名に分解する。
パス名の合成 ? _makepath ドライブ名・ディレクトリ名・ファイル名・拡張子名から、パス名を作成する。
フルパス取得 ? _fullpath 相対パスをフルパスに変換する。[2006-08-23]
フルパス取得 API GetFullPathName 指定されたファイル名と、カレントドライブ名・カレントディレクトリ名を結合してフルパスにする。
パス名取得 API GetShortPathName 指定されたパス名を、短い形式(ファイル名8文字・拡張子3文字)のパス名に変換する。

パス名等を格納するのに必要な文字列の長さは、以下の定数によって定義されています。
実際はどこまで信用できるかあやしいですけど…。(Windows95/98までっぽい)

定数名 説明
_MAX_PATH パス名の長さの最大値
_MAX_DRIVE ドライブ名の長さの最大値
_MAX_DIR ディレクトリ名の長さの最大値
_MAX_FNAME ファイル名の長さの最大値
_MAX_EXT 拡張子の長さの最大値

ディレクトリ監視

ディレクトリやファイルが変更されたかどうかを監視します。

名称 API 説明
ディレクトリ監視 FindFirstChangeNotification
FindNextChangeNotification
FindCloseChangeNotification
指定したディレクトリ配下のディレクトリ名やファイルが変更されたかどうかを監視する。

VC++ページへ戻る / 技術メモへ戻る
メールの送信先:ひしだま