源码:lower.cc
编译:g++ lower.cc -std=c++0x
# include <iostream>
# include <stdlib.h>
# include <stdio.h>
# include <string>
//transform函数所需的头文件
# include <algorithm>
using namespace std;
void old()
{
string UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36";
for(size_t i = 0;i < UserAgent.length();i++)
{
if(UserAgent[i] >= 'A' && UserAgent[i] <= 'Z')
UserAgent[i] += ('a'- 'A');
}
//cout << UserAgent << endl;
}
void test1()
{
string UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36";
std::transform(UserAgent.begin(),UserAgent.end(),UserAgent.begin(),::tolower);
//cout << UserAgent << endl;
}
void test2()
{
char UserAgent[128] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36";
for(size_t i = 0;UserAgent[i] != '\0';i++)
{
if(UserAgent[i] >= 'A' && UserAgent[i] <= 'Z')
UserAgent[i] += ('a'- 'A');
}
//cout << UserAgent << endl;
}
int main()
{
for(int i = 0;i < 100000;i++)
{
//old();
//test1();
test2();
}
return 0;
}
三个字符串转化效率对比结果如图所示:
TIP :强烈建议c++小白深入学习 algorithm头文件,里面有很多意向不到的惊喜可待发掘。