• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 4  文章 - 4  trackbacks - 0
            <2007年11月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            常用鏈接

            留言簿(2)

            隨筆分類(lèi)

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            自己寫(xiě)了一個(gè):
            /***********begin test file***********/
            #include <iostream>
            #include <string>

            int main()
            {
             std::string str1 = "   hello world!   ";
             std::string trimstring = " ";
             std::cout << "str = \"" << str1 << "\"" << std::endl;
             std::cout << "str.find_first_of(' ')     : " << str1.find_first_of(trimstring)     << std::endl;
             std::cout << "str.find_first_not_of(' ') : " << str1.find_first_not_of(trimstring) << std::endl;
             std::cout << "str.find_last_of(' ')     : " << str1.find_last_of(trimstring)      << std::endl;
             std::cout << "str.find_last_not_of(' ')  : " << str1.find_last_not_of(trimstring)  << std::endl;
             str1.erase(str1.find_last_not_of(trimstring)+1);
             std::cout << "after right trim : \"" << str1 << "\"" << std::endl;
             str1.erase(0,str1.find_first_not_of(trimstring));
             std::cout << "after left trim  : \"" << str1 << "\"" << std::endl;
             return 0;
            }
            /***********end test file***********/

            目前個(gè)人還沒(méi)發(fā)現(xiàn)C,C++中有提供像Trim()那樣的方法,
            如有更好方法,還請(qǐng)各位大哥指點(diǎn)。

            posted on 2007-11-04 15:43 希冀0714 閱讀(7604) 評(píng)論(5)  編輯 收藏 引用 所屬分類(lèi): C++

            FeedBack:
            # re: 求C++中:去掉字符串首尾空格的方法. 2007-11-04 19:10 lovedday
            #include <string.h>
            #include <stdio.h>

            #pragma warning(disable : 4996)

            char* rtrim(char* s)
            {
            if(s == NULL)
            return NULL;

            // set tail white space as '\0'
            for(size_t i = strlen(s)-1; i >= 0 && s[i] == ' '; i--)
            s[i] = '\0';

            return s;
            }

            char* ltrim(char* s)
            {
            if(s == NULL)
            return NULL;

            char* p;

            // skip head white space
            for(p = s; *p == ' '; p++)
            ;

            if(p != s) // if address p is not same as address s
            {
            size_t length = strlen(p);

            if(length > 0) // so p is not null
            {
            memmove(s, p, length);
            s[length] = '\0';
            }
            }

            return s;
            }

            char* trim(char* s)
            {
            if(s == NULL)
            return NULL;

            rtrim(s);

            return ltrim(s);
            }

            int main()
            {
            char s[10];
            strcpy(s, " ab cde ");

            trim(s);

            printf("after trim:\n");

            if(*s != '\0')
            printf("%s, length = %d\n", s, strlen(s));
            else
            printf("s is null\n");

            return 0;
            }
              回復(fù)  更多評(píng)論
              
            # re: 求C++中:去掉字符串首尾空格的方法. 2007-11-04 19:44 lovedday
            #include <iostream>
            #include <string>

            using namespace std;

            void trim(string& str)
            {
            str.erase(str.find_last_not_of(' ')+1, string::npos);
            str.erase(0, str.find_first_not_of(' '));
            }

            int main()
            {
            string str = " hello world! ";

            trim(str);

            cout << "after trim:" << endl;
            cout << str << endl;

            return 0;
            }
              回復(fù)  更多評(píng)論
              
            # re: 求C++中:去掉字符串首尾空格的方法. 2007-11-04 20:50 希冀0714
            謝謝,這樣的程序看起來(lái)清晰多了,學(xué)習(xí)中.  回復(fù)  更多評(píng)論
              
            # re: 求C++中:去掉字符串首尾空格的方法. 2007-11-05 08:44 <a href=http://minidx.com>minidxer</a>
            不錯(cuò)不錯(cuò)~~~,收下了。  回復(fù)  更多評(píng)論
              
            久久频这里精品99香蕉久| 久久嫩草影院免费看夜色| 无码伊人66久久大杳蕉网站谷歌| 无码八A片人妻少妇久久| 欧美大香线蕉线伊人久久| 中文精品久久久久国产网址 | 久久影视综合亚洲| 久久久这里只有精品加勒比| 久久人人爽人人爽人人片AV不 | 国产精品乱码久久久久久软件| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 久久不射电影网| 久久久无码精品午夜| 久久人妻少妇嫩草AV无码蜜桃| 日产精品久久久久久久| 91久久精品国产成人久久| 亚洲AV无码久久精品成人| 久久97久久97精品免视看秋霞| 亚洲午夜久久久影院伊人| 久久伊人色| 国产精品久久久久一区二区三区| 久久精品国产亚洲AV影院| 久久精品无码专区免费| 久久免费精品视频| 久久久免费精品re6| 伊人久久大香线蕉av一区| 伊人精品久久久久7777| 久久久久久久亚洲精品| 国产成人99久久亚洲综合精品| 久久国产精品一国产精品金尊| 久久久久久国产精品美女| 亚洲精品国产自在久久| 婷婷久久综合九色综合绿巨人| 国产免费久久久久久无码| 国产精品日韩欧美久久综合| 超级碰久久免费公开视频| 久久国产高清字幕中文| 国产成人精品久久免费动漫 | 国产一区二区三区久久精品| 久久久久亚洲AV无码麻豆| 久久国产精品无码一区二区三区|