bool ContainsInvalidChars(const CString& filename)
{
const TCHAR invalidChars[] = { '<', '>', ':', '"', '/', '\\', '|', '?', '*' };
for (int i = 0; i < _countof(invalidChars); ++i)
{
if (filename.Find(invalidChars[i]) != -1)
{
return true;
}
}
return false;
}
or
bool isValidFilenameSyntax(const std::string& filename)
{
if (filename.empty()) {
return false;
}
// Common invalid characters for Windows (adjust for other OS if needed)
const std::string invalidChars = "\\/:*?\"<>|";
for (char c : filename) {
if (invalidChars.find(c) != std::string::npos) {
return false;
}
}
// Add checks for reserved names, length limits, etc. if required
// For example, on Windows, check for CON, PRN, AUX, NUL
// if (filename == "CON" || filename == "PRN" || ...) { return false; }
return true;
}
#cpp