西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)其它知識(shí) → wxWidgets - 文件/文件夾函數(shù)

wxWidgets - 文件/文件夾函數(shù)

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2013/3/3 9:04:12字體大小:A-A+

作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: 文件函數(shù)

  • 類型:視頻轉(zhuǎn)換大。1.7M語言:中文 評(píng)分:5.5
  • 標(biāo)簽:
立即下載

wxwidgets是一個(gè)C++的跨平臺(tái)的開發(fā)包,主要做圖形界面的開發(fā),它自己也集成了很多庫,像socket之類的也都有。當(dāng)然我自己用這個(gè)開發(fā)包也就是奔著圖形界面來的。

wxwidgets vs MFC:這兩風(fēng)格很像,在源代碼中用了很多的宏定義,誰模仿誰我就不去關(guān)心了,反正對(duì)于MFC比較熟悉的人應(yīng)該對(duì)wxwidgets感覺不錯(cuò)。MFC中大量運(yùn)用虛函數(shù),而wxwidgets中大量用重載,理論上說wxwidgets的運(yùn)行效率要比MFC高一些。

wxWidgets的一些基礎(chǔ)知識(shí):

● wxWidgets不僅僅使用C++,而且能夠使用python、perl、java、lua、eiffel、C#(.NET)、basic、ruby,甚至是javascript(見General Information)(豆子:有些語言連聽都沒聽說過,呵呵);
● wxWidgets是一個(gè)完整的GUI工具庫,提供了很多工具類;
● 有很多文檔(雖然一些只是文檔片段);
● 免費(fèi)供個(gè)人使用或者商業(yè)使用;
● 只要可能,wxWidgets就會(huì)使用本地平臺(tái)的SDK。也就是說,同一段代碼,在Windows下編譯將具有Windows程序的外觀,在Linux下編譯將具有Linux程序的外觀;
○ 這樣做的優(yōu)點(diǎn)是,wxWidgets程序看上去和本地程序差不多,有時(shí)也會(huì)有一些本地組件的行為——例如在OS X上所有的文本域(text area)都將獲得內(nèi)建的拼寫檢查的能力;
○ 這樣做的缺點(diǎn)是,wxWidgets程序在不同平臺(tái)的行為可能會(huì)不一致;那些使用輕量級(jí)組件的GUI庫或許會(huì)丟失一些特定平臺(tái)的特性,但會(huì)將平臺(tái)相關(guān)的代碼減到最少(因此,這樣做也能夠?qū)⒉煌脚_(tái)組件的行為差異降到最小,并且減少了特定平臺(tái)的bugs)。另外,由于使用本地感官風(fēng)格,使得wxWidgets不適合于那些希望具有不同于系統(tǒng)界面風(fēng)格的程序的開發(fā)。

wxWidgets 文件/文件夾函數(shù)

所屬頭文件

<wx/filefn.h>

參見

wxPathList
wxDir
wxFile
wxFileName

::wxDos2UnixFilename
::wxFileExists
::wxFileModificationTime
::wxFileNameFromPath
::wxFindFirstFile
::wxFindNextFile
::wxGetDiskSpace
::wxGetFileKind
::wxGetOSDirectory
::wxIsAbsolutePath
::wxDirExists
::wxPathOnly
::wxUnix2DosFilename
wxCHANGE_UMASK
::wxConcatFiles
::wxCopyFile
::wxGetCwd
::wxGetWorkingDirectory
::wxGetTempFileName
::wxIsWild
::wxMatchWild
::wxMkdir
::wxParseCommonDialogsFilter
::wxRemoveFile
::wxRenameFile
::wxRmdir
::wxSetWorkingDirectory
::wxSplitPath
::wxTransferFileToStream
::wxTransferStreamToFile

::wxDos2UnixFilename

void wxDos2UnixFilename(wxChar *s)

通過將反斜杠(\)替換為正斜杠(/)來實(shí)現(xiàn)DOS格式的文件名到Unix格式的轉(zhuǎn)換。

::wxFileExists

bool wxFileExists(const wxString& filename)

檢測(cè)文件是否存在, 當(dāng) filename 存在并且為文件時(shí)返回 true 。

::wxFileModificationTime

time_t wxFileModificationTime(const wxString& filename)

返回給定文件的最后一次修改時(shí)間。

函數(shù)返回 (time_t)-1 表示遇到錯(cuò)誤(例如: 文件未找到時(shí))。

::wxFileNameFromPath

wxString wxFileNameFromPath(const wxString& path)

char * wxFileNameFromPath(char *path)

注意: 該函數(shù)已被廢棄, 請(qǐng)使用 wxFileName::SplitPath 代替。

從完整路徑中返回分離出的文件名。第二種形式返回一個(gè)指向臨時(shí)存儲(chǔ)區(qū)的指針, 該臨時(shí)存儲(chǔ)區(qū)域所占用的空間不應(yīng)該被釋放。

::wxFindFirstFile

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

該函數(shù)用于在所指定的目錄中做搜索, 返回符合通配符 spec 的第一個(gè)文件路徑, 或空字符串。使用 wxFindNextFile 匹配符合條件的下一個(gè)文件。所匹配的結(jié)果不會(huì)包含當(dāng)前目錄 "." 或上級(jí)目錄 ".."。

警告

從 wx 2.5.2 版本起, 這兩個(gè)函數(shù)會(huì)令線程變得不安全! (它們使用靜態(tài)變量)。你或許會(huì)使用 wxDir::GetFirst 或 wxDirTraverser 來進(jìn)行替代。

spec 為可能需要包含的通配符。

flags 為允許匹配的類型標(biāo)識(shí), wxDIR 匹配子目錄, wxFILE 匹配文件。

例如:

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

::wxFindNextFile

wxString wxFindNextFile()

返回符合 wxFindFirstFile 函數(shù)中匹配條件的下一個(gè)文件路徑。

參見 wxFindFirstFile 中的示例。

::wxGetDiskSpace

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

該函數(shù)以字節(jié)為單位返回目錄路徑 path (路徑應(yīng)當(dāng)存在) 所在盤符的總空間和剩余空間大小。 當(dāng)你不需要其中某個(gè)相應(yīng)的信息時(shí), total 和 free 參數(shù)可以設(shè)為 NULL。

返回值

返回 true 表示成功, false 表示遇到錯(cuò)誤 (例如, 目錄路徑不存在)。

可移植性

該函數(shù)僅應(yīng)用于 Win32 平臺(tái), Mac OS 和 通用 Unix 系統(tǒng)提供有 statfs() 函數(shù)。

該函數(shù)首次添加于 wxWidgets 2.3.2。

::wxGetFileKind

wxFileKind wxGetFileKind(int fd)

wxFileKind wxGetFileKind(FILE *fp)

返回一個(gè)已經(jīng)打開的文件的類型?赡艿闹等缦:

enum wxFileKind
{
  wxFILE_KIND_UNKNOWN,
  wxFILE_KIND_DISK,     // 支持求任意偏移量的文件 譯者注: 磁盤文件
  wxFILE_KIND_TERMINAL, // 終端設(shè)備文件
  wxFILE_KIND_PIPE      // 管道文件
};

所屬頭文件

<wx/filefn.h>

::wxGetOSDirectory

wxString wxGetOSDirectory()

返回當(dāng)前 Windows 系統(tǒng)所在的目錄; 其他平臺(tái)返回一個(gè)空的字符串。

::wxIsAbsolutePath

bool wxIsAbsolutePath(const wxString& filename)

判斷是否為絕對(duì)路徑, 是絕對(duì)路徑時(shí)返回 true, 例如, 帶有斜杠或者以盤符開始的路徑。

::wxDirExists

bool wxDirExists(const wxChar *dirname)

檢測(cè)目錄是否存在, 當(dāng)路徑 dirname 存在且為目錄時(shí)返回 true 。

::wxPathOnly

wxString wxPathOnly(const wxString& path)

返回完整文件路徑 path 的目錄部分。

::wxUnix2DosFilename

void wxUnix2DosFilename(wxChar *s)

該函數(shù)已被廢棄, 使用 wxFileName 代替。

通過斜杠替換為反斜杠的方式將 Unix 路徑轉(zhuǎn)為 Dos 路徑。

wxCHANGE_UMASK

wxCHANGE_UMASK(int mask)

在 Unix 下, 使用該宏將可以將當(dāng)前文件權(quán)限的掩碼更改為給定值, 當(dāng)值為 -1 時(shí)表示什么也不做, 將值恢復(fù)為默認(rèn)值范圍后退出。它的工作原理是聲明一個(gè)對(duì)象, 在對(duì)象調(diào)用構(gòu)造函數(shù)時(shí)設(shè)定 umask 為 mask, 當(dāng)析構(gòu)函數(shù)被調(diào)用時(shí)進(jìn)行復(fù)位。

在其他平臺(tái)上該宏無擴(kuò)展。

::wxConcatFiles

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

合并 file1 and file2 到 file3, 成功時(shí)返回 true 。

::wxCopyFile

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

復(fù)制 file1 到 file2, 成功時(shí)返回 true 。如果目標(biāo)文件已經(jīng)存在, 當(dāng) overwrite 參數(shù)為 true (默認(rèn)), 文件將被覆蓋, 為 false 時(shí), 不進(jìn)行復(fù)制, 函數(shù)執(zhí)行失敗。

::wxGetCwd

wxString wxGetCwd()

返回一個(gè)包含當(dāng)前路徑(或工作路徑)的字符串。

::wxGetWorkingDirectory

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

注意: 該函數(shù)已被廢棄: 使用 wxGetCwd 代替。

當(dāng) buf 存在時(shí), 復(fù)制當(dāng)前工作路徑到 buf; 當(dāng) buf 不存在時(shí), 復(fù)制當(dāng)前工作路徑到自動(dòng)分配的存儲(chǔ)區(qū)(這時(shí)你必須自己手動(dòng)釋放)。

sz 為緩沖區(qū)大小, 如果 buf 存在的話。

//譯者注: 該函數(shù)提供的函數(shù)原型與文檔中不同, 譯者采用 .h 頭文件中的原型, 文檔中的函數(shù)原型為: wxString wxGetWorkingDirectory(char *buf=NULL, int sz=1000)

::wxGetTempFileName

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

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

注意: 該函數(shù)已被廢棄, 請(qǐng)使用 wxFileName::CreateTempFileName 代替。

::wxIsWild

bool wxIsWild(const wxString& pattern)

判斷是否包含通配符, 當(dāng) pattern 中包含通配符時(shí)返回 true 。 令見 wxMatchWild。

::wxMatchWild

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

當(dāng) text 能夠被 pattern 匹配時(shí)返回 true; 若 dot_special 為 true, 以點(diǎn)('.')開始的文件名將不會(huì)被匹配。另見 wxIsWild。

::wxMkdir

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

創(chuàng)建一個(gè)目錄 dir, 返回 true 時(shí)表示成功。

perm 參數(shù)為訪問掩碼, 該參數(shù)指定了 dir 目錄的具體的訪問權(quán)限, 被 Unix 系統(tǒng)所支持, 在其他平臺(tái)上沒有影響。

::wxParseCommonDialogsFilter

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

用于解析通配符 wildCard, 返回解析出的數(shù)量。 返回 0 表示沒有一個(gè)或者出現(xiàn)了問題。 在發(fā)現(xiàn)錯(cuò)誤前, 數(shù)組中將包含已解析到的相等數(shù)目的元素。 在本地通用對(duì)話框中, 每個(gè)條目只有一個(gè)過濾器, 所給定的數(shù)組元素?cái)?shù)目會(huì)自動(dòng)調(diào)整。 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, bool overwrite = true)

重命名 file1 為 file2, 返回 true 表示成功。

當(dāng)目標(biāo)文件已經(jīng)存在時(shí), 若 overwrite 參數(shù)為 true (默認(rèn)), 文件將被覆蓋, overwrite 為 false, 不進(jìn)行重命名, 函數(shù)返回失敗。

::wxRmdir

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

刪除 dir 目錄, 翻譯 true 表示成功。 在虛擬機(jī)下使用無效。

參數(shù) flags 目前為保留參數(shù), 在以后可能會(huì)使用到。

請(qǐng)注意還有一個(gè) wxRmDir 函數(shù), 該函數(shù)是可移植性操作系統(tǒng)接口標(biāo)準(zhǔn)函數(shù) rmdir() 的封裝, 它會(huì)返回一個(gè) int 型的錯(cuò)誤標(biāo)識(shí)代替 bool 型( 但是在其他方面目前與 wxRmdir 相同 ), 不要將這兩個(gè)函數(shù)弄混淆。

::wxSetWorkingDirectory

bool wxSetWorkingDirectory(const wxString& dir)

設(shè)置當(dāng)前工作目錄, 返回 true 表示操作成功。 在 Windows 下, 若 dir 所在的磁盤分區(qū)與當(dāng)前使用的分區(qū)格式不同, 那么磁盤驅(qū)動(dòng)器也將發(fā)生改變。

::wxSplitPath

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

注意: 該函數(shù)已被廢棄, 請(qǐng)使用 wxFileName::SplitPath 代替。

該函數(shù)用于從完整的文件路徑中分離出不同的成分: 路徑 path (在 Windows 下可能包含磁盤驅(qū)動(dòng)器名), 基礎(chǔ)文件名和文件擴(kuò)展名。如果只對(duì)其中特定的成分感興趣, 其中不需要的參數(shù) (path, name 或 ext) 都可以為空。

在 Windows 中, wxSplitPath() 能夠正確的處理 DOS 和 Unix 路徑中的文件名, 但是在 Unix 中, 函數(shù)不會(huì)以反斜杠作為路徑分離標(biāo)識(shí)( 例如反斜杠在文件名中是有效的字符 )。

在使用時(shí), fullname 應(yīng)該不為空 (雖然它可能為空)。

在獲得的值中, path 中包含的是文件路徑 (不含結(jié)尾處的分隔符), name 為文件名; ext 為不含點(diǎn)('.')的擴(kuò)展名。 如果相應(yīng)成分不存在, 那么三個(gè)參數(shù)都有可能得到空值。在這種情況下, 參數(shù)中所指向的舊的內(nèi)容將被重寫 (如果指針不為空).

::wxTransferFileToStream

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

拷貝給定的文件轉(zhuǎn)換為 stream 流形式。 當(dāng)需要用流去改寫舊式的應(yīng)用程序時(shí)是非常有用的。 (例如, 在文檔/視圖的框架中)。//譯者注: 該句的翻譯可能存在問題

所屬頭文件

<wx/docview.h>

::wxTransferStreamToFile

bool wxTransferStreamToFile(istream& stream const wxString& filename)

拷貝給定的 stream 流轉(zhuǎn)換到一個(gè)文件 filename 。當(dāng)需要用流去改寫舊式的應(yīng)用程序時(shí)是非常有用的。 (例如, 在文檔/視圖的框架中)。//譯者注: 該句的翻譯可能存在問題

所屬頭文件

<wx/docview.h>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)