【问题标题】:Find if a file name is valid before actually creating the file在实际创建文件之前查找文件名是否有效
【发布时间】:2012-02-08 04:44:47
【问题描述】:

我有一个使用 C++ 构建的 wxWidget 应用程序。该应用程序的功能之一是它提示用户在消息框中输入字符串,然后一旦用户按下 Enter,它就会创建一个文件,该文件的名称是用户输入的字符串数组。

现在我有一个问题,我想检查用户输入的字符串是否可以是有效名称**。

  1. 一种方法是检查文件是否已在系统上创建并告诉用户它是无效字符串。(我不想这样做)。

  2. 另一种方法是解析整个字符串以检查字符串中是否包含无效的文件名字符,例如

有没有其他方法可以检查这个不涉及任何文件操作?

【问题讨论】:

  • 文件名规则由所涉及的文件系统设置,如果不解析挂载点等,您将无法确定。文件系统调用为您执行此操作,任何其他方法都会更多努力。

标签: c++ wxwidgets


【解决方案1】:

你可以使用静态函数:

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

获取与您的字符串匹配的无效字符列表。你可以查看它的文档here。虽然它不会排除所有无效的文件名,但它可能足以满足您的需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-22
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2014-06-10
    相关资源
    最近更新 更多