Я бы, вероятно, просто использовал что-то вроде следующего (обратите внимание, что для его использования потребуется убедиться, что data
правильно '\0'
завершен):
char const validChars[] = "abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789"
"./_"
" "; // add whatever other characters are considered valid
bool isValidString(char const* s)
{
return strspn(s, validChars) == strlen(s);
}
Если вы хотите проверить, что весь255 байт 'допустимо', тогда вам также нужно проверить, что strlen(data) == 255
.
Вероятно, есть хороший алгоритм C ++ STL, который может справиться с этим точно так же, но я бы, вероятно, все еще использовалstrspn()
из-за определенной формы лени.
Обратите внимание, что вам, вероятно, нужно проверить на ошибку, возвращаемую из ReadProcessMemory()
.