ファイル操作

Include files

<wx/filefn.h>

See also

wxPathList
wxDir
wxFile
wxFileName



::wxDos2UnixFilename



void wxDos2UnixFilename(wxChar * s)

バックスラッシュをスラッシュに置き換えて, DOS を Unix ファイル名に 変換します.



::wxFileExists



bool wxFileExists(const wxString& filename)

ファイル filename が存在し,かつ通常のファイル (plain file) であればtrue を返します.



::wxFileModificationTime



time_t wxFileModificationTime(const wxString& filename)

ファイルの最終更新時刻を返します.



::wxFileNameFromPath



wxString wxFileNameFromPath(const wxString& path)



char * wxFileNameFromPath(char * path)

NB: この関数は撤廃されています. wxFileName::SplitPath を使ってください.

ファイルの絶対パスを返します.二つ目の形式では一時的な記憶領域への ポインタを返します.この領域を開放してはなりません.



::wxFindFirstFile



wxString wxFindFirstFile(const char * spec, int flags = 0)

ディレクトリを探索します; spec に合致した最初のファイルを返します. 見つからなければ空文字列を返します. 次の候補を得たい場合には wxFindNextFile を 使ってください.現在のディレクトリ "." や親ディレクトリ ".." を返す ことはありません.

Warning

wx 2.5.2 では,この関数はスレッドセーフではありません! (静的変数を使っています) wxDir::GetFirstwxDirTraverser を使うべきでしょう.

spec にはワイルドカードを入れられます.

flags に wxDIR を指定して,検索対象をディレクトリに制限したり, wxFILE を指定してファイルに制限したりできます. 0 を指定すると両方を 対象にします.

以下に例を示します:

  wxString f = wxFindFirstFile("/home/project/*.*");
  while ( !f.empty() )
  {
    ...
    f = wxFindNextFile();
  }



::wxFindNextFile



wxString wxFindNextFile(void)

wxFindFirstFile に渡したパスについて,次の 検索一致候補を帰します.

使用例はwxFindFirstFile を参照してください.



::wxGetDiskSpace



bool wxGetDiskSpace(const wxString& path, wxLongLong *total = NULL, wxLongLong *free = NULL)

ディレクトリpath の入っているディスクの空き容量をバイト単位で返します. (path は実在のディレクトリでなければなりません) パラメタ total および free に情報を指定する必要がなければ NULL にできます.

Returns

成功した場合にはtrue を,失敗した場合 (例えばディレクトリが存在 しないなど) には false を返します.

Portability

この関数は Win32 , Mac OS およびシステムで関数 statfs() を提供 している一般の Unix で実装されています.

この関数があるのは wxWidgets 2.3.2 以降です.



::wxGetFileKind



wxFileKind wxGetFileKind(int fd)



wxFileKind wxGetFileKind(FILE * fp)

既に開かれているファイルのタイプを返します.戻り値は以下のいずれかです:

enum wxFileKind
{
  wxFILE_KIND_UNKNOWN,
  wxFILE_KIND_DISK,     // a file supporting seeking to arbitrary offsets
  wxFILE_KIND_TERMINAL, // a tty
  wxFILE_KIND_PIPE      // a pipe
};

Include files

<wx/filefn.h>



::wxGetOSDirectory



wxString wxGetOSDirectory(void)

Windows 環境では Windows ディレクトリを返します; それ以外のプラットフォーム では空文字列を返します.



::wxIsAbsolutePath



bool wxIsAbsolutePath(const wxString& filename)

引数のファイル名が絶対パスである場合,すなわちファイル名がスラッシュか ドライブ名から始まっている場合に true を返します.



::wxDirExists



bool wxDirExists(const wxString& dirname)

パス dirname が存在すれば true を返します.



::wxPathOnly



wxString wxPathOnly(const wxString& path)

ファイル名のディレクトリ部を返します.



::wxUnix2DosFilename



void wxUnix2DosFilename(const wxString& s)

スラッシュをバックスラッシュに置き換えて,Unix ファイル名を DOS のファイル名形式に変換します.



wxCHANGE_UMASK



wxCHANGE_UMASK(int mask)

Unix 環境下では,このマクロは現在のプロセス umask を mask に指定 した値に変更します.ただし,mask が -1 の場合には何も行わず, マスクはスコープを抜ける際に元の値に復帰します.この動作は,変数を宣言 して,その変数を使ってコンストラクタで umask を mask に設定し, デストラクタで復帰することで実現します.

その他のプラットフォームでは,このマクロを展開しても何も起こりません.



::wxConcatFiles



bool wxConcatFiles(const wxString& file1, const wxString& file2, const wxString& file3)

file1file2 を結合して file3 にします. 成功すると true を返します.



::wxCopyFile



bool wxCopyFile(const wxString& file1, const wxString& file2, bool overwrite = true)

file1file2 にコピーします.成功すると true を返します. overwrite パラメタが真 (デフォルト) であれば,コピー先のファイルが 存在しても上書きを行いますが,overwrite が false であれば失敗します.



::wxGetCwd



wxString wxGetCwd(void)

現在のディレクトリ (作業ディレクトリ) が入った文字列を返します.



::wxGetWorkingDirectory



wxString wxGetWorkingDirectory(char * buf=NULL, int sz=1000)

NB: この関数は撤廃されています: wxGetCwd を 使ってください.

現在の作業ディレクトリを指定したバッファにコピーします.バッファが NULL の場合には,新たなストレージを作成して返します (このストレージは 自分で削除 せねばなりません).

バッファを指定する場合,バッファのサイズをsz に指定します.



::wxGetTempFileName



char * wxGetTempFileName(const wxString& prefix, char * buf=NULL)



bool wxGetTempFileName(const wxString& prefix, wxString& buf)

NB: この関数は撤廃されています. wxFileName::CreateTempFileName を使ってください.



::wxIsWild



bool wxIsWild(const wxString& pattern)

pattern にワイルドカードが入っていれば true を返します. wxMatchWild を参照してください.



::wxMatchWild



bool wxMatchWild(const wxString& pattern, const wxString& text, bool dot_special)

patterntext と一致する場合に true を返します. dot_special が真であれば,ドットで始まるファイル名をワイルドカード にマッチさせません. wxIsWild を参照してください.



::wxMkdir



bool wxMkdir(const wxString& dir, int perm = 0777)

ディレクトリdir を作成します.成功すると true を返します.

システムがディレクトリへのアクセス権限マスクをサポートしている場合 (Unix), perm に指定します.それ以外の場合,perm は効果を持ちません.



::wxParseCommonDialogsFilter



int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters)

wildCard をパーズして,中に入っているフィルタパターン ("*.txt" や "*.tif" など) の数を返します. フィルタが存在しない場合や何か問題がある場合には 0 を返します. 二つの wxArrayString 型の参照渡し引数には,エラーが起きる以前に見つかった フィルタエントリがそれぞれ同じ数だけ入っています. ネイティブのダイアログがエントリあたりひとつしかフィルタを扱えない プラットフォームでは,アレイ内のエントリは自動的に調整されます. wildCard は以下のような形式をとります:

 "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"



::wxRemoveFile



bool wxRemoveFile(const wxString& file)

file を削除します.成功すると true を返します.



::wxRenameFile



bool wxRenameFile(const wxString& file1, const wxString& file2)

file1file2 にリネームします.成功すると true を返します.



::wxRmdir



bool wxRmdir(const wxString& dir, int flags=0)

ディレクトリ dir を削除します.成功すると true を返します. VMS では動作しません.

flags パラメタは将来のために予約されています.



::wxSetWorkingDirectory



bool wxSetWorkingDirectory(const wxString& dir)

現在の作業ディレクトリを設定します.操作に成功すると true を返します. MS Windows 下では,dir にドライブ指定子が入っている場合,現在の ドライブ (current drive) も変更されます.



::wxSplitPath



void wxSplitPath(const char * fullname, wxString * path, wxString * name, wxString * ext)

NB: この関数は撤廃されています. wxFileName::SplitPath を使ってください.

完全なファイル名を分割します.分割の構成要素は,パス (path,Windows では 場合によってディスク/ドライブ指定子を含む),ベース (base name), 拡張子 (extension) からなります.出力先パラメタの各々 (path, name および ext) に対応する構成要素に興味 がない場合は NULL を指定できます.

Windows での wxSplitPath() は DOS と Unix のパス区切り文字を正しく 扱えますが, Unix では (バックスラッシュがファイル名として有効な 文字なので) バックスラッシュをパス区切り文字とみなしません.

関数呼び出しを行う時点で,fullname が NULL であってはなりません (空文字列にはできます).

関数から戻った際に, path にはファイルパス (末尾の区切り文字が 除去されたもの) が,name にはファイル名が,ext には ファイルの拡張子が先頭のドット抜きで入っています.これらのいずれの 引数も,対応する構成要素が存在しない場合には空文字列になり得ます. これらのパラメタが指し示している文字列の以前の内容は, (パラメタに NULL を指定しない限り) 常に上書きされます.



::wxTransferFileToStream



bool wxTransferFileToStream(const wxString& filename, ostream& stream)

ファイルを stream にコピーします.ストリームを使うために 古いアプリケーションを,(ドキュメント/ビューフレームワークなどに) 変換 する際に便利です.

Include files

<wx/docview.h>



::wxTransferStreamToFile



bool wxTransferStreamToFile(istream& stream const wxString& filename)

ストリームを filename にコピーします.ストリームを使うために 古いアプリケーションを,(ドキュメント/ビューフレームワークなどに) 変換 する際に便利です.

Include files

<wx/docview.h>

ymasuda 平成17年11月19日