Найти, если имя файла является действительным, прежде чем на самом деле создать файл - PullRequest
1 голос
/ 08 февраля 2012

У меня есть приложение wxWidget, созданное с использованием C ++.Одна из функциональных возможностей приложения заключается в том, что оно предлагает пользователю ввести строку в окне сообщения, а затем, когда пользователь нажимает клавишу Enter, оно создает файл с именем файла, являющегося введенным пользователем массивом строк.

Теперь у меня возникла проблема, я хочу проверить, может ли введенная пользователем строка быть действительным именем или нет **.

  1. Один из способов - проверить, был ли файл создан в системе, и сообщить пользователю, что это неверная строка. (Я не хочу этого делать).

  2. другим будет проанализировать всю строку, чтобы проверить, не содержит ли она недопустимые символы имени файла, такие как <, /, \ etc в строке.</p>

Есть ли другой способ проверить это, не затрагивая файловые операции?

1 Ответ

1 голос
/ 08 февраля 2012

Вы можете использовать статическую функцию:

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

, чтобы получить список недопустимых символов для сопоставления с вашей строкой. Вы можете увидеть документацию здесь . Хотя это не исключает всех неправильных имен файлов, оно может быть достаточно для того, что вы хотите.

...