<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 閱讀(663) 評論(0)  編輯  收藏 所屬分類: 算法

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


    網站導航:
     

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

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 458130
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲综合一区国产精品| 中文字幕亚洲色图| 老司机免费午夜精品视频| 无码专区永久免费AV网站| 亚洲精品视频免费看| 黄网址在线永久免费观看| 亚洲日本乱码一区二区在线二产线| 午夜理伦剧场免费| 亚洲精品福利在线观看| 在线观看H网址免费入口| 亚洲宅男精品一区在线观看| 成年网站免费视频A在线双飞| 日本亚洲免费无线码| 午夜免费福利在线| 一级毛片无遮挡免费全部| 亚洲色欲色欲www在线丝| 人人玩人人添人人澡免费| 免费午夜爽爽爽WWW视频十八禁| 免费在线人人电影网| 亚洲精品无码永久中文字幕| 国产激情免费视频在线观看| 亚洲电影唐人社一区二区| 在线a级毛片免费视频| 男性gay黄免费网站| 亚洲国产婷婷六月丁香| www视频免费看| 久久人午夜亚洲精品无码区 | 国产免费AV片在线观看播放| 亚洲人成人一区二区三区| 最近免费视频中文字幕大全| 亚洲国产综合精品中文第一| 又黄又爽一线毛片免费观看| 天黑黑影院在线观看视频高清免费| 国产大片91精品免费观看男同| 一级毛片免费不卡| 91情国产l精品国产亚洲区| 麻豆国产VA免费精品高清在线| 一区二区三区免费在线视频 | 精品免费国产一区二区| 久久www免费人成看国产片| 亚洲精品午夜视频|