Search code examples
c++cross-platformstandard-librarystd

c++ toupper - standard function?


Possible Duplicate:
Convert a String In C++ To Upper Case

Hi, I need a portable function to convert string in c++ to upper case. I'm now using toupper( char); function. Is it a standard function? If not, what it's the correct way to do it across platforms? Btw, is there any web / wiki where I can list all c++ standard functions? Thank you.


Solution

  • Yes, toupper is declared in the cctype header. You can transform a string with an algorithm:

    #include <algorithm>
    #include <iostream>
    #include <string>
    #include <cctype>
    
    int main()
    {
        std::string str("hello there");
        std::cout << str << '\n';
    
        std::transform(str.begin(), str.end(), str.begin(), std::toupper);
        std::cout << str << '\n';
    }