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

how to convert lower case strings to upper case strings in c++

本文关键字:字符串 转换 c++      更新时间:2023-10-16

如何使这个程序同时接受大写和小写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 emailn";
            cin  >> client[i].email;
        }
#include <boost/algorithm/string.hpp>
#include <string>
std::string str = "Hello World";
boost::to_upper(str);

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

#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::transform,std::ptr_fun