String中改變大小寫系列函數的用法


1.c語言中的tolower() (變小寫) toupper() (變大寫)

(1)函數定義的類型為char,因此用string的話要遍歷string里面的每個值

(2)使用樣例:

{1}#include <iostream>
#include <string>
using namespace std;
int main()
{
    string s = "ABCDEFG";
    for( int i = 0; i < s.size(); i++ )
    {
        s[i] = tolower(s[i]);
    }
    cout<<s<<endl;
    return 0;
}
結果為abcdefg
{2}
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string s = "abcdefg";
    for( int i = 0; i < s.size(); i++ )
    {
        s[i] = toupper(s[i]);
    }
    cout<<s<<endl;
    return 0;
}
結果為ABCDEFG
2.通過STL的transform算法配合的toupper和tolower來實現該功能就不需要用s[i]的方法
(1)函數的定義類型為char,因為要從string.begin()遍歷到 string.end()
(2)使用樣例:
{1}#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
    string s = "ABCDEFG";
    string result;
    transform(s.begin(),s.end(),s.begin(),::tolower);
    cout<<s<<endl;
    return 0;
}
結果:abcdefg
{2}#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
    string s = "abcdefg";
    string result;
    transform(s.begin(),s.end(),s.begin(),::toupper);
    cout<<s<<endl;
    return 0;
}
結果:ABCDEFG
3.判斷是否為大小寫isupper()和islower()
(1)定義類型為char,若與判斷的相同則返回1,若不同返回0.
(2)使用樣例:
 {1}cout << islower('a');//輸出1
 cout << islower('A');//輸出0
{2}cout << isupper('a');//輸出0
 cout << isupper('A');//輸出1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM