std string 字串大小寫轉換

2021-05-27 06:36:06 字數 1534 閱讀 3527

該問題歸結為std::transform

函式的使用

函式原型

template < class inputiterator, class outputiterator, class unaryoperator >

outputiterator transform ( inputiterator first1, inputiterator last1,

outputiterator result, unaryoperator op );

template < class inputiterator1, class inputiterator2,

class outputiterator, class binaryoperator >

outputiterator transform ( inputiterator1 first1, inputiterator1 last1,

inputiterator2 first2, outputiterator result,

binaryoperator binary_op );

說明:

對於第乙個原型:函式將對從輸入引數的first1-last1的全部變數做op函式操作。結果儲存到result中,或是通過返回值返回。

對於原形二:這個是對一的乙個擴充套件,對於1這個只能對單個元素佇列進行op操作,而第二個原形則是對對first1-last1上的元素和first2開始序列的元素逐個binary_op計算再儲存到結果 示例

int op_inc(int num)

int op_sum(int numa,int numb)

int main()

以上是transform的基本使用,接下來說明如何用它來處理字串的大小寫轉換

事實上很簡單,主要用到了,單個字元的大小寫轉換函式:tolower(),toupper()

不過對於大寫轉小寫,同時小寫轉大寫的要自己單獨處理,函式如下

char exchange(char c)

示例 std::string str = "http";

transform(str.begin(), str.end(), str.begin(), ::tolower); //將大寫的都轉換成小寫

transform(str.begin(), str.end(), str.begin(), ::toupper); //將小寫的都轉換成大寫

transform(str.begin(), str.end(), str.begin(), exchange);  //大小寫切換

注以上結果都儲存在str中。

transform(str.begin(), str.end(), str.begin(), ::tolower); //將大寫的都轉換成小寫

transform(str.begin(), str.end(), str.begin(), ::tolower); //將大寫的都轉換成小寫

transform(str.begin(), str.end(), str.begin(), ::tolower); //將大寫的都轉換成小寫

大小寫轉換 字串

time limit 1000ms memory limit 65536kb problem description 把乙個字串裡所有的大寫字母換成小寫字母,小寫字母換成大寫字母。其他字元保持不變。input 輸入為一行字串,其中不含空格。長度不超過80個字元。output 輸出轉換好的字串。exa...

字串大小寫轉換java

3.將字串 abcdeabcde 中的大寫字母都變成小寫,再都變成大寫,再將改變後的兩個字串拼接到一起。最後分別輸出這個字串的第乙個和最後乙個字元。可能使用到的方法 int codepointat int index char charat int index string touppercase ...

php 字串大小寫轉換

mb convert case mb convert case 對字串進行大小寫轉換 mb convert case string str int mode string encoding mb internal encoding 對乙個 string 進行大小寫轉換,轉換模式由 mode 指定。引...