要获得用string类定义的字符串变量的长度,有两个函数可用,一是:变量名.size();二是:变量名.length();两者没有区别,类似于C中的strlen()函数。“ length是因为沿用C语言的习惯而保留下来的,string类最初只有length,引入STL之后,为了兼容又加入了size,它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。”----流言飞语
string类的size()/length()方法返回的是字节数,不管是否有汉字。
要使用string类字符串中的元素,也有两种方法,一是:变量名.at( i );二是:变量名[i ] //和C中引用数组元素类似,下标也是从0开始。
#include<iostream>
#include<string>
using namespace std;
int main(){
string str;
while(cin>>str){
for(int i=0;i<str.length();++i){
if(str.at(i)=='a'||str.at(i)=='A'||str.at(i)=='i'||str.at(i)=='I'||str.at(i)=='O'||str.at(i)=='o'||str.at(i)=='e'||str.at(i)=='E'||str.at(i)=='u'||str.at(i)=='U'||str.at(i)=='y'||str.at(i)=='Y'){
str.erase(str.begin()+i);
i=i-1;
}
else
if(str.at(i)>='A'&&str.at(i)<='Z')
str.at(i)+=32;
}
for(int i=0;i<str.length();++i)
cout<<'.'<<str[i];
cout<<'\n';
}
return 0;
}