std::basic_string is a template class. Method std::basic_string::c_str () returns a const pointer to the start of the contained character string.
std::string is a typedef of std::basic_string that contains a string of char. Method std::string::c_str () therefore returns a char const*.
std::wstring is a typedef of std::basic_string that contains a string of wchar_t. Method std::wstring::c_str () therefore returns a wchar_t const*.