如何在c ++中将小写字符串转换为大写字符串

时间:2015-03-24 09:58:21

标签: c++

如何让这个程序同时接受大写和小写id。从文件中读取时的id是大写的.id的存在是S2345的形式。请帮助。

   cout << "Enter client ID TO Change email";
   cin >> ids;

  for(int i=0; i<rec; i++)

        if(client[i].ID == ids){
            cout << "\nEnter New email\n";
            cin  >> client[i].email;

        }

2 个答案:

答案 0 :(得分:0)

#include <boost/algorithm/string.hpp>
#include <string>

std::string str = "Hello World";

boost::to_upper(str);

答案 1 :(得分:0)

您可以使用std::transform()库中的#include <algorithm>

#include <algorithm> // for std::transform
#include <functional> // for std::ptr_fun
#include <cstring> // for std::toupper

int main()
{
    std::string ids;

    std::cout << "Enter client ID TO Change email";
    std::cin >> ids;

    // make the entire string uppercase
    std::transform(ids.begin(), ids.end(), ids.begin()
        , std::ptr_fun<int, int>(std::toupper));

    std::cout << ids << '\n';
}

为它制作函数包装器可能是值得的:

std::string to_uppercase(std::string s)
{
    std::transform(s.begin(), s.end(), s.begin()
        , std::ptr_fun<int, int>(std::toupper));
    return s;
}

参考文献: std::transformstd::ptr_fun