C++大小写字母的转换
生活随笔
收集整理的這篇文章主要介紹了
C++大小写字母的转换
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.利用I=和&=~進(jìn)行操作
#include<iostream> #include<stdlib.h> #include<cassert> using namespace std; char* convert(char *src){char* p=src;assert(p!=NULL);while(*p){if('A'<=*p&&*p<='Z'){*p|=0x20;}else{*p&=~0x20;}p++;}return src; } int main(){char a[10];char* s;cin>>a;s=convert(a);cout<<s;system("pause");return 0; }2.利用toupper,tolower函數(shù):
#include<stdlib.h> #include<iostream> using namespace std; int main(){char a;while(a=cin.get()){ if('a'<=a&&'z'>=a){cout<<(char)toupper(a);}else{cout<<(char)tolower(a);}}system("pause"); }3.利用strupr、strlwr:
#include<stdlib.h> #include<iostream> #include<string> using namespace std; int main(){string s;cin>>s;char c[20];char* c1;strcpy(c,s.c_str());//轉(zhuǎn)化為大寫(xiě)strupr(c);//傳的是地址,已改變本身值cout<<c;cout<<endl;strlwr(c);//傳的是地址,已改變本身值cout<<c;system("pause"); }4.用迭代器實(shí)現(xiàn):
#include<iostream> #include<stdlib.h> #include<string> using namespace std; int main(){string s;string::iterator iter;cout<<"請(qǐng)輸入字符串:"<<endl;cin>>s;for(iter=s.begin();iter!=s.end();iter++){if('a'<=*iter&&*iter<='z'){*iter=*iter&~0x20;}else{*iter=*iter|0x20;}}cout<<s<<endl;system("pause");return 0; }6.迭代器加transform實(shí)現(xiàn):
#include<iostream> #include<stdlib.h> #include<string> #include<algorithm> using namespace std; int main(){string s;cout<<"請(qǐng)輸入字符串:"<<endl;cin>>s;//全部轉(zhuǎn)化為大寫(xiě)transform(s.begin(),s.end(),s.begin(),toupper);cout<<s<<endl;//全部轉(zhuǎn)化為小寫(xiě)transform(s.begin(),s.end(),s.begin(),tolower);cout<<s<<endl;system("pause");return 0; } 與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的C++大小写字母的转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++中逆向迭代器的说明及使用
- 下一篇: 编写一个算法frequency,统计在一