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

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

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

    從制造到創造
    軟件工程師成長之路
    posts - 292,  comments - 96,  trackbacks - 0
    字符串替換

    ??1?
    ??2?#include?<iostream.h>
    ??3?#include?<string.h>
    ??4?
    ??5?//////////////////////////////////////////////////////////////
    ??6?//????????????????????????????????????????????????????????????//
    ??7?//?函數名:????????????????????????????????????????????????????//
    ??8?//????????????????????????????????????????????????????????????//
    ??9?//????????SearchSubString????????????????????????????????????????//
    ?10?//????????????????????????????????????????????????????????????//
    ?11?//?函數功能:????????????????????????????????????????????????//
    ?12?//????????????????????????????????????????????????????????????//
    ?13?//????????在源字符串中查找子字符串????????????????????????????//
    ?14?//????????????????????????????????????????????????????????????//
    ?15?//?入口參數:????????????????????????????????????????????????//
    ?16?//????????????????????????????????????????????????????????????//
    ?17?//????????strSrc:?源字符串????????????????????????????????????//
    ?18?//????????strSearch:?子字符串????????????????????????????????????//
    ?19?//????????????????????????????????????????????????????????????//
    ?20?//?返回值:????????????????????????????????????????????????????//
    ?21?//????????????????????????????????????????????????????????????//
    ?22?//????????-1:在源字符串沒有找到子字符串????????????????????????//
    ?23?//????????非-1:子字符串在源字符串中的起始序號????????????????????//
    ?24?//????????????????????????????????????????????????????????????//
    ?25?//////////////////////////////////////////////////////////////
    ?26?
    ?27?int?SearchSubString(?char?strSrc[],?char?strSearch[]?)
    ?28?{
    ?29?????int?nSearchIndex?=?-1;????????//?返回值序號
    ?30?
    ?31?????int?nIndex?=?0;????????????????//?當前序號
    ?32?????while?(?strSrc[nIndex]?!=?'\0'?)
    ?33?????{
    ?34?????????if?(?strSrc[nIndex]?==?strSearch[0]?)????//?當第一個字符相同時
    ?35?????????{
    ?36?????????????//?判斷后面的字符是否都相同
    ?37?????????????for?(?unsigned?int?nPos?=?1;?nPos?<?strlen(?strSearch?);?nPos++?)
    ?38?????????????{
    ?39?????????????????if?(?strSrc[nIndex?+?nPos]?!=?strSearch[nPos]?)
    ?40?????????????????{
    ?41?????????????????????break;
    ?42?????????????????}
    ?43?????????????}
    ?44?
    ?45?????????????if?(?nPos?==?strlen(?strSearch?)?)????????//?如果找到子字符串
    ?46?????????????{
    ?47?????????????????nSearchIndex?=?nIndex;
    ?48?
    ?49?????????????????break;
    ?50?????????????}
    ?51?????????????else????????//?第一個字符串后的字符串不相同,源字符串的查找位置下移
    ?52?????????????{
    ?53?????????????????nIndex++;
    ?54?????????????}
    ?55?????????}
    ?56?????????else????????//?當第一個字符不相同時,源字符串的查找位置下移
    ?57?????????{
    ?58?????????????nIndex++;
    ?59?????????}
    ?60?????}
    ?61?
    ?62?????return?nSearchIndex;
    ?63?}
    ?64?
    ?65?//////////////////////////////////////////////////////////////
    ?66?//????????????????????????????????????????????????????????????//
    ?67?//?函數名:????????????????????????????????????????????????????//
    ?68?//????????????????????????????????????????????????????????????//
    ?69?//????????ReplaceString????????????????????????????????????????//
    ?70?//????????????????????????????????????????????????????????????//
    ?71?//?函數功能:????????????????????????????????????????????????//
    ?72?//????????????????????????????????????????????????????????????//
    ?73?//????????在源字符串中替換字符串????????????????????????????????//
    ?74?//????????????????????????????????????????????????????????????//
    ?75?//?入口參數:????????????????????????????????????????????????//
    ?76?//????????????????????????????????????????????????????????????//
    ?77?//????????strSrc:?源字符串????????????????????????????????????//
    ?78?//????????strSearch:?被替換的字符串????????????????????????????//
    ?79?//????????strReplace:替換的字符串????????????????????????????????//
    ?80?//????????????????????????????????????????????????????????????//
    ?81?//?返回值:????????????????????????????????????????????????????//
    ?82?//????????????????????????????????????????????????????????????//
    ?83?//????????無返回值????????????????????????????????????????????//
    ?84?//????????????????????????????????????????????????????????????//
    ?85?//?說明:????????????????????????????????????????????????????//
    ?86?//????????????????????????????????????????????????????????????//
    ?87?//????????源字符串是以被替換的字符串開始的字符串????????????????//
    ?88?//????????????????????????????????????????????????????????????//
    ?89?//////////////////////////////////////////////////////////////
    ?90?
    ?91?void?ReplaceString(?char?strSrc[],?char?strSearch[],?char?strReplace[]?)
    ?92?{
    ?93?????int?nSearchLen?=?strlen(?strSearch?);????//?被替換的字符串的長度
    ?94?????int?nReplaceLen?=?strlen(?strReplace?);????//?替換的字符串的長度
    ?95?
    ?96?????if?(?nSearchLen?<?nReplaceLen?)????????????//?查找字符串比替換字符串短
    ?97?????{
    ?98?????????//?移動字符串
    ?99?????????for?(?unsigned?int?nIndex?=?strlen(?strSrc?);?nIndex?>=?nSearchLen;?nIndex--?)
    100?????????{
    101?????????????strSrc[nIndex?+?nReplaceLen?-?nSearchLen]?=?strSrc[nIndex];
    102?????????}
    103?????}
    104?????else????????????????????????????????????//?查找字符串比替換字符串長
    105?????{
    106?????????//?移動字符串
    107?????????int?nIndex?=?nSearchLen;
    108?????????while?(?strSrc[nIndex]?!=?'\0'?)
    109?????????{
    110?????????????strSrc[nIndex?-?nSearchLen?+?nReplaceLen]?=?strSrc[nIndex];
    111?
    112?????????????nIndex++;
    113?????????}
    114?????????strSrc[nIndex?-?nSearchLen?+?nReplaceLen]?=?'\0';
    115?????}
    116?
    117?????//?替換字符串
    118?????for?(?int?nIndex?=?0;?nIndex?<?nReplaceLen;?nIndex++?)
    119?????{
    120?????????strSrc[nIndex]?=?strReplace[nIndex];
    121?????}
    122?
    123?????return;
    124?}
    125?
    126?//////////////////////////////////////////////////////////////
    127?//????????????????????????????????????????????????????????????//
    128?//?函數名:????????????????????????????????????????????????????//
    129?//????????????????????????????????????????????????????????????//
    130?//????????ReplaceSubString????????????????????????????????????//
    131?//????????????????????????????????????????????????????????????//
    132?//?函數功能:????????????????????????????????????????????????//
    133?//????????????????????????????????????????????????????????????//
    134?//????????在源字符串中替換字符串????????????????????????????????//
    135?//????????????????????????????????????????????????????????????//
    136?//?入口參數:????????????????????????????????????????????????//
    137?//????????????????????????????????????????????????????????????//
    138?//????????strSrc:?源字符串????????????????????????????????????//
    139?//????????strSearch:?被替換的字符串????????????????????????????//
    140?//????????strReplace:替換的字符串????????????????????????????????//
    141?//????????????????????????????????????????????????????????????//
    142?//?返回值:????????????????????????????????????????????????????//
    143?//????????????????????????????????????????????????????????????//
    144?//????????無返回值????????????????????????????????????????????//
    145?//????????????????????????????????????????????????????????????//
    146?//////////////////////////////////////////////////////////////
    147?
    148?void?ReplaceSubString(?char?strSrc[],?char?strSearch[],?char?strReplace[]?)
    149?{
    150?????int?nIndex?=?0;????????????????//?開始查找的位置
    151?????int?nSearchIndex?=?0;????????//?在當前字符串中被替換的字符串的位置
    152?
    153?????while?(?(?nSearchIndex?=?SearchSubString(?strSrc?+?nIndex,?strSearch?)?)?!=?-1?)
    154?????{
    155?????????ReplaceString(?strSrc?+?nIndex?+?nSearchIndex,?strSearch,?strReplace?);
    156?
    157?????????nIndex?+=?nSearchIndex?+?strlen(?strReplace?);
    158?????}
    159?
    160?????return;
    161?}
    162?
    163?void?main()
    164?{
    165?????char?strArr[128]?=?"abcdeGHbcdejHKbcdeOOO";
    166?????char?strSearch[]?=?"bcde";
    167?????char?strReplace[]?=?"1111111";
    168?
    169?????ReplaceSubString(?strArr,?strSearch,?strReplace?);
    170?
    171?????cout?<<?strArr?<<?endl;
    172?
    173?????return;
    174?}

    posted on 2006-09-08 19:29 CoderDream 閱讀(668) 評論(0)  編輯  收藏 所屬分類: 算法

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


    網站導航:
     

    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 459733
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲码一区二区三区| 免费看又黄又爽又猛的视频软件 | 亚洲AV无码乱码麻豆精品国产| 免费一区二区三区在线视频| 波多野结衣在线免费观看| 亚洲中文字幕久久精品无码喷水| 亚洲欧美日韩中文高清www777| 久久青草免费91线频观看不卡| www国产亚洲精品久久久| 亚洲三级中文字幕| 久久精品一区二区免费看| 亚洲乱码国产一区网址| 亚洲狠狠色丁香婷婷综合| 无码国产精品一区二区免费式直播 | 波多野结衣免费在线| 亚洲国产精品无码久久一区二区| 国产午夜亚洲精品不卡| 一个人看的www在线观看免费| 亚洲大尺度无码无码专区| 四虎影视永久在线精品免费| 蜜桃精品免费久久久久影院| 亚洲第一页中文字幕| 免费观看久久精彩视频| 国产亚洲成人在线播放va| 国产亚洲日韩在线a不卡| 女人张开腿给人桶免费视频 | 95免费观看体验区视频| 亚洲女同成av人片在线观看 | 日韩电影免费在线观看| 伊人久久亚洲综合| 四虎影视久久久免费| 免费真实播放国产乱子伦| 亚洲精品无码专区在线| 日韩免费a级毛片无码a∨| 亚洲毛片免费观看| 69视频在线是免费观看| 亚洲成熟xxxxx电影| 免费看搞黄视频网站| 久久精品国产亚洲麻豆| 国产午夜无码片免费| 亚洲色中文字幕无码AV|