<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 1,  comments - 0,  trackbacks - 0
    點(diǎn)睛之筆:使用STL的最高境界就是程式看不到for和while loop,完全用STL 的algorithm搞定。
    下例中我們需要將vector中的所有字符串變成小寫,使用transfor()對vector中的每個(gè)string元素做處理,C\C++的字符串沒有提供轉(zhuǎn)寫小寫的功能,但是C中有對每個(gè)字符轉(zhuǎn)寫小寫的功能。猶豫string也是個(gè)container,我們需要再次使用transform()來處理每個(gè)字符,并且使用<cctype>中的tolower()將每個(gè)字符改成小寫。
    09  #include <iostream>
    10#include <cctype>
    11#include <algorithm>
    12#include <vector>
    13#include <string>
    14
    15using namespace std;
    16
    17string& toLower(string&);
    18
    19int main() {
    20  vector<string> svec;
    21  svec.push_back("Stanley B. Lippman");
    22  svec.push_back("Scott Meyers");
    23  svec.push_back("Nicolai M. Josuttis");
    24
    25  // Modify each string element
    26  transform(svec.begin(), svec.end(), svec.begin(), toLower);
    27  
    28  copy(svec.begin(),svec.end(), ostream_iterator<string>(cout,"\n"));
    29
    30  return 0;
    31}

    32
    33string& toLower(string& s) {
    34  // Modify each char element
    35  transform(s.begin(), s.end(), s.begin(), tolower);
    36  return s;
    37}
    補(bǔ)充:transform是遍歷一個(gè)容器里面的元素然后執(zhí)行一個(gè)操作。
            參數(shù)1和參數(shù)2是數(shù)據(jù)起始和結(jié)束位置(迭代器,也可以是string)
            如:string s="hello"; transform(s.begin(),s.end(),s.begin(),toupper);
            參數(shù)3是寫入目標(biāo)的起始位置;
            參數(shù)4是執(zhí)行的操作(函數(shù))。
    思想2:

    實(shí)例:#include<iostream>
            using namespace std;
            int my_toupper(int ch)
             {
                  if(ch>='a'&&ch<='z')
                   {
                       return ch-(int('a')-int('A'));
                   }
                  else
                   {
                       return ch;
                   }
              }
            int my_tolower(int ch)
             {
                  if(ch>='A'&&ch<='Z')
                   {
                       return ch+(int('a')-int('A'));
                   }
                  else
                   {
                       return ch;
                   }
              }


            int main()
            {
               char buf[]="abc123ABC";
               char *p=buf;
               while(*p!='\0')
               {
                  cout<<(char)my_toupper(*p)
                        <<","
                        <<(char)my_tolower(*p)
                        <<endl;
                  ++p;
              }
            return 0;
          }
    思路3:














    posted on 2012-04-06 09:14 憤怒的考拉 閱讀(312) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 亚洲av无码一区二区三区网站| 一级成人毛片免费观看| 成人看的午夜免费毛片| 美女被暴羞羞免费视频| 亚洲欧洲日韩不卡| 日本一道本高清免费| 国产亚洲精品精品精品| 精品久久香蕉国产线看观看亚洲| 亚洲国产成人久久精品大牛影视| 日韩精品无码一区二区三区免费| 亚洲性久久久影院| 222www免费视频| 男人和女人高潮免费网站| 亚洲黄网在线观看| 亚洲av午夜精品一区二区三区| 色噜噜的亚洲男人的天堂| 久久久无码精品亚洲日韩蜜桃 | 亚洲中文字幕无码中文| 又粗又黄又猛又爽大片免费| 亚洲精品免费在线观看| 老司机精品视频免费| 亚洲欧洲久久精品| 亚洲精品夜夜夜妓女网| 日韩高清免费在线观看| 久久免费观看国产99精品| 美女免费视频一区二区三区| 亚洲大香人伊一本线| 久久精品亚洲日本佐佐木明希| 久久久99精品免费观看| 成人免费夜片在线观看| 国产成+人+综合+亚洲专| 国产AV无码专区亚洲AV毛网站 | 免费jjzz在线播放国产 | 久久精品免费观看国产| 老司机精品视频免费| 亚洲中文无码线在线观看| 亚洲国产精品嫩草影院在线观看| 1000部拍拍拍18免费网站| 9久热精品免费观看视频| 国产亚洲精彩视频| 亚洲一本一道一区二区三区|