如何让这个程序同时接受大写和小写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;
}
答案 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::transform,std::ptr_fun