关于 vector保存的string大小写转换的问题
我的程序如下:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> vec;
string s;
cout<<"input your text and end with exit00"<<endl;
while(cin>>s
{
if(s=="exit00") break;
vec.push_back(s);
}
for(vector<string>::size_type ix=0; ix!=vec.size(); ix++)
{
vec[ix]=vec[ix].ToUpper();
cout<<vec[ix]<<" ";
if((ix+1)%8==0) cout<<endl;
}
}
vec[ix]=vec[ix].ToUpper();这句在编译时报错.
本人初学C++请大家指点,如果能给出正确语句,将感激不尽。。。
[解决办法]
错误信息不是说了吗:string 没有ToUpper函数
自己写一个
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
void string_to_upper(string & str)
{
transform(str.begin(), str.end(), str.begin(), toupper);
}
int main()
{
vector <string > vec;
string s;
cout <<"input your text and end with exit00" <<endl;
while(cin >>s )
{
if(s=="exit00") break;
vec.push_back(s);
}
for(vector <string >::size_type ix=0; ix!=vec.size(); ix++)
{
string_to_upper(vec[ix]);
cout <<vec[ix]<<" ";
if((ix+1)%8==0) cout <<endl;
}
}