Преобразовать string из STL к нижнему/верхнему регистру достаточно просто:
std::string s = "My Cool String"; std::transform(s.begin(), s.end(), s.begin(), std::tolower); std::cout << s << std::endl; std::transform(s.begin(), s.end(), s.begin(), std::toupper); std::cout << s << std::endl;
И получим:
my cool string MY COOL STRING