2012-02-08 50 views
1

我有一個使用C++構建的wxWidget應用程序。該應用程序的功能之一是它提示用戶在消息框中輸入字符串,然後一旦用戶按Enter鍵,它將創建一個文件名稱爲用戶輸入的字符串數組的文件。在實際創建文件之前查找文件名是否有效

現在我有一個問題,我想檢查用戶輸入的字符串是否可以是有效的名稱或不是**。

  1. 一個方法是檢查,如果該文件已經在系統上創建並告訴用戶這是一個無效的字符串。(我不希望這樣做)。

  2. 另一個問題是解析整個字符串,以檢查字符串中是否有無效的文件名字符,如<,/,\ etc。

有沒有其他方法可以檢查這個不涉及任何文件操作?

+3

文件名規則由涉及的文件系統設置,如果不解決掛載點問題等問題,則不能確定文件系統。文件系統調用會爲您做到這一點,其他任何方法都會花費更多的精力。 – 2012-02-08 04:47:43

回答

1

您可以使用靜態函數:

static wxString wxFileName::GetForbiddenChars(wxPathFormat format = wxPATH_NATIVE) 

獲得的無效字符列表來匹配您的字符串。你可以看到它的文檔here。雖然它不會排除所有無效的文件名,但它可能足夠滿足您的需求。

相關問題