正規表現を作成して、ファイル名に無効な文字を除外したいとします。 Windowsでは無効な文字は/です:*?」<> |私が試した:QRegExpでバックスラッシュを除外しますか?
これはので、二重のバックスラッシュは私が何が起こったかを見るだろうと思って働いていなかったバックスラッシュとは別に、すべての文字のために働くQRegExp("^[^\\/:*?\"<>|]*$")
。単一のバックスラッシュを使用した場合、コンパイラの警告が表示されますが、コンパイラの警告が表示されます。警告:不明のエスケープシーケンス: '/'と問題は解決しませんでした。 QRegExpValidatorで使用する場合は円記号を使用しますか?
QDir :: rename()が無効な文字をチェックしていないため、無効な文字が入力された場合、ファイルにアクセスできなくなる可能性があるためです。ユーザーがこれを避けるための最善の解決策を入力できる文字を制限しているのですか、QDirは私が逃したメカニズムを提供していますか?
C++は、 '' \\から単一のバックスラッシュを作成するので、4であることが必要です。 C++ 11には[生の文字列リテラル](http://en.cppreference.com/w/cpp/language/string_literal)もあります。 – LogicStuff
ようこそバックスラッシュ地獄 –