編集の要約なし
1行目: 1行目:
== ファイルを開く ==
== ファイルを開く ==
<code>CFile</code>クラスの<code>Open</code>メソッドは、第1引数はファイル名、第2引数はファイルモードを指定する。<br>
<code>CFile</code> クラスの <code>Open</code> メソッドは、第1引数はファイル名、第2引数はファイルモードを指定する。<br>
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">
  CFile File;
  CFile File;
11行目: 11行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
主なモードを以下に記載する。<br>
<center>
<center>
{| class="wikitable" style="background-color:#fefefe;"
{| class="wikitable"  
|+ CFileクラスのファイルモード
|-
|-
! style="background-color:#00ffff;" | モード名  
! モード名 !! 説明
! style="background-color:#00ffff;" | 説明
|-
|-
| CFile::modeCreate || ファイルを新規に作成する。<br>既にファイルがある場合は、削除して新規に作成する。
| CFile::modeCreate || ファイルを新規に作成する。<br>既にファイルがある場合は、削除して新規に作成する。
101行目: 100行目:
  SHFileOperation(&drive);
  SHFileOperation(&drive);
  </syntaxhighlight>
  </syntaxhighlight>
wFuncは、下記に示す通り、実行する操作を指定する。<br>
<br>
下表に、wFuncの実行操作を示す。<br>
<center>
<center>
{| class="wikitable" style="background-color:#fefefe;"
{| class="wikitable"  
|+ wFuncに指定できる実行操作
|-
|-
! style="background-color:#00ffff;" | 命令マクロ  
! 命令マクロ !! 説明
! style="background-color:#00ffff;" | 説明
|-
|-
| FO_MOVE || pFromをpToの位置に移動
| FO_MOVE || pFromをpToの位置に移動
117行目: 117行目:
|}
|}
</center>
</center>
<br>
pFromにはディレクトリおよびファイルを指定する。ワイルドカードも使用できる。<br>
pFromにはディレクトリおよびファイルを指定する。ワイルドカードも使用できる。<br>
また、NULL文字(\0)で区切ると複数指定できる。<br>
また、NULL文字(\0)で区切ると複数指定できる。<br>
<br>
<br>
fFlagは、下記に示す通り、動作時のフラグを指定する。<br>
下表に、fFlagの動作フラグを示す。<br>
<br>
<center>
<center>
{| class="wikitable" style="background-color:#fefefe;"
{| class="wikitable"  
|+ fFlagの動作フラグ
|-
|-
! style="background-color:#00ffff;" | 命令マクロ  
! 命令マクロ !! 説明
! style="background-color:#00ffff;" | 説明
|-
|-
| FOF_SILENT || 経過を表すダイアログボックス非表示
| FOF_SILENT || 経過を表すダイアログボックス非表示
142行目: 144行目:
  // ファイルのコピー
  // ファイルのコピー
  BOOL CopyFile(
  BOOL CopyFile(
                LPCTSTR     lpExistingFileName,  // コピー元のファイルのパス
    LPCTSTR lpExistingFileName,  // コピー元のファイルのパス
                LPCTSTR     lpNewFileName,      // コピー先のファイルのパス
    LPCTSTR lpNewFileName,      // コピー先のファイルのパス
                BOOL       bFailIfExists        // 上書き許可 / 不許可
    BOOL   bFailIfExists        // 上書き許可 / 不許可
  );
  );
   
   
  // ファイルの移動・ファイル名の変更
  // ファイルの移動・ファイル名の変更
  BOOL MoveFile(
  BOOL MoveFile(
                LPCTSTR     lpExistingFileName,  // 移動元のファイルのパス
    LPCTSTR lpExistingFileName,  // 移動元のファイルのパス
                LPCTSTR     lpNewFileName        // 移動後のファイルのパス
    LPCTSTR lpNewFileName        // 移動後のファイルのパス
  );
  );
   
   
  // ファイルの削除
  // ファイルの削除
  BOOL DeleteFile(
  BOOL DeleteFile(
                  LPCTSTR     lpFileName  // 削除するファイルのパス
    LPCTSTR lpFileName  // 削除するファイルのパス
  );
  );
  </syntaxhighlight>
  </syntaxhighlight>
164行目: 166行目:
  // ファイルおよびディレクトリの属性の取得
  // ファイルおよびディレクトリの属性の取得
  DWORD GetFileAttributes(
  DWORD GetFileAttributes(
                          LPCTSTR   lpFileName  // ファイルのパス
    LPCTSTR lpFileName  // ファイルのパス
  );
  );
   
   
  // ファイルおよびディレクトリの属性の設定
  // ファイルおよびディレクトリの属性の設定
  BOOL SetFileAttributes(
  BOOL SetFileAttributes(
                          LPCTSTR   lpFileName,  // ファイルのパス
    LPCTSTR lpFileName,  // ファイルのパス
                          DWORD     dwAttributes  // 属性フラグ
    DWORD   dwAttributes  // 属性フラグ
  );
  );
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
<center>
<center>
{| class="wikitable" style="background-color:#fefefe;"
{| class="wikitable"  
|+ 属性の定数
|+ 属性の定数
|-
|-
! style="background-color:#66CCFF;" | 定数  
! 定数 !! 意味
! style="background-color:#66CCFF;" | 意味
|-
|-
| FILE_ATTRIBUTE_NORMAL || 特に属性なし
| FILE_ATTRIBUTE_NORMAL || 特に属性なし
195行目: 196行目:
</center>
</center>
<br>
<br>
<code>FILE_ATTRIBUTE_NORMAL</code>属性は、他の属性定数と組み合わせて使用できない。<br>
<code>FILE_ATTRIBUTE_NORMAL</code> 属性は、他の属性定数と組み合わせて使用できない。<br>
<code>FILE_ATTRIBUTE_DIRECTORY</code>属性は、属性を指定しても設定できない。<br>
<code>FILE_ATTRIBUTE_DIRECTORY</code> 属性は、属性を指定しても設定できない。<br>
<br><br>
<br><br>


202行目: 203行目:
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">
  DWORD GetFileType(
  DWORD GetFileType(
                    HANDLE  hFile  // ファイルのハンドル
    HANDLE  hFile  // ファイルのハンドル
  );
  );
  </syntaxhighlight>
  </syntaxhighlight>