usually what I do is just compare a lower-cased version of the string in question, like:
if (foo.make_this_lowercase_somehow() == "stack overflow") {
// be happy
}
I believe boost has built-in lowercase conversions, so:
#include <boost/algorithm/string.hpp>
if (boost::algorithm::to_lower(str) == "stack overflow") {
//happy time
}