×î´óÕýÏòÆ¥Åä·Ö´ÊËã·¨µÄVC++ʵÏÖ

×÷Õß:ÍõÏ£½Ü ¸üÐÂʱ¼ä:2011-01-23 15:23 µã»÷:´Î
¡¾ÂÛÎÄ·¢±í¹Ø½¡´Ê¡¿ÖÐÎÄ·Ö´Ê£»ÕýÏò×î´óÆ¥Å䣻MFC
¡¾Ö°³ÆÂÛÎÄÕªÒª¡¿
×öΪ×îÖ±½ÓµÄ·Ö´Ê˼·£¬×î´óÆ¥Åä¾ßÓÐÖ±¹Û¡¢ÊµÏÖ¼òµ¥µÈÓŵ㣬µ«Ò²´æÔÚמ«¶ÈµÍµÄÖÂÃüȱµã¡£±¾ÎĶÔÕýÏòÆ¥ÅäËã·¨×öÁËʵÏֺͷÖÎö£¬Îª¸Ã·½·¨µÄ½øÒ»²½¸Ä½ø´òÏÂÁË»ù´¡¡£

¡¡×÷ΪÖÐÎÄÐÅÏ¢´¦ÀíµÄ»ù´¡£¬ººÓï×Ô¶¯·Ö´ÊÊÇÖÇÄÜ»¯ÖÐÎÄÐÅÏ¢´¦ÀíµÄ¹Ø¼ü£¬ÒòΪ“ÔÚÖÐÎÄÐÅÏ¢´¦ÀíÖУ¬·²ÊÇÉæ¼°¾ä·¨¡¢ÓïÒåµÈÑо¿ÏîÄ¿¶¼ÒªÒÔ´ÊΪ»ù±¾µ¥Î»[1£¬2]¡£¶øÖÐÎIJ¢²»ÏñÓ¢ÎÄÄÇÑù£¬´ÊÖ®¼äÓÐ×Å×ÔÈ»µÄ·Ö¸î£¬ººÓïÓï¾äÖ»ÊÇÁ¬ÐøµÄ×Ö·û´®£¬Óï¾äÖеē´Ê”Ó듴ʔ֮¼äûÓÐÃ÷ÏԵķָî·ûºÅ£¬ÔÙ¼ÓÉϺºÓïÖГδµÇ¼´Ê”µÄ´óÁ¿´æÔں͓ÆçÒå´Ê”¶Ô·Ö´Ê¾«¶ÈµÄÓ°Ï죬ʹµÃººÓïµÄ×Ô¶¯·Ö´Ê³ÉÁËÖÆÔ¼ÖÐÎÄÐÅÏ¢´¦ÀíµÄ“Æ¿¾±”¡£Òò´Ë·Ö´Ê×÷Ϊ×ÔÈ»ÓïÑÔ´¦ÀíµÄÈȵãºÍÄѵ㣬ººÓïµÄ×Ô¶¯·Ö´ÊÒ»Ö±ÒÔÀ´±¸ÊܹúÄÚÖÚ¶àѧÕߵĹØ×¢¡£±¾ÎÄÔÚÑо¿“»úеƥÅäËã·¨”[2]µÄ»ù´¡ÉÏ£¬ÀûÓÃMFC¶ÔÕýÏò×î´óÆ¥ÅäËã·¨½øÐÐÁËʵÏÖ£¬²¢¶Ô¸Ãϵͳ½øÐÐÁË·ÖÎö£¬Ìá³öÁ˸ĽøµÄÒâ¼û£¬ÎªÏÂÒ»²½¸ü¼ÓÉîÈëµÄÑо¿·Ö´ÊÌṩÁËÒ»¸öʵÑéµÄƽ̨¡£
¡¡¡¡Ò»¡¢“»úеƥÅä”Ëã·¨ºÍÕýÏò×î´óÆ¥Åä
¡¡¡¡“»úеƥÅä”Ëã·¨¿ÉÒÔ·ÖΪÔö×ÖÆ¥ÅäºÍ¼õ×ÖÆ¥Å䣬Ôö×ÖÆ¥ÅäÊÇ´Óµ¥¸ö×Ö·û¿ªÊ¼Öð´ÎÔö¼Ó´ÊÖÐ×Ö·ûµÄ¸öÊý£¬Ö±µ½Æ¥Åä³É¹¦£»¶ø¼õ×ÖÆ¥Åä×ñÑ­“³¤´ÊÓÅÏȔԭÔò£¬Ê×ÏÈÈ¡“×“×Ö·û´®½øÐÐÆ¥Å䣬ÈôÆ¥Åä²»³É¹¦Ôò¼õµôÒ»¸öºº×Ö£¨Á½Ó¢ÎÄ×Ö·û£©£¬Öظ´ÒÔÉϹý³ÌÖ±µ½Æ¥Åä³É¹¦¡£°´ÕÕÆ¥Åä¹ý³ÌÖÐÆ¥ÅäµÄ·½Ïò£¬“»úеƥÅ䔿ÉÒÔ·ÖΪÕýÏòÆ¥Åä[3]¡¢ÄæÏòÆ¥ÅäºÍË«ÏòÆ¥Å䣬ÕâЩËã·¨µÄ»ù±¾Ë¼ÏëÀàËÆ£¬±¾ÎÄÒÔ¼õ×ÖÆ¥ÅäΪÀý½øÐÐ˵Ã÷¡£Æä»ù±¾Ë¼Â·ÊÇÔÚ¼ÆËã»úÖдæ·ÅÒ»¸öÒÑÖªµÄ´Ê±í£¨´Êµä£©£¬È»ºó´Ó±»ÇзֵÄÓïÁÏÖУ¬°´ÕÕ¸ø¶¨µÄ·½Ïò˳Ðò½ØÈ¡Ò»¸ö¶¨³¤µÄ×Ö·û´®£¨Í¨³£Îª6ÖÁ8¸öºº×Ö£¬Õâ¸ö×Ö·û´®µÄ³¤¶È½Ð×ö×î´ó´Ê³¤£¬¼Ç×÷maxlen£©£¬°ÑÕâ¸ö³¤¶ÈΪmaxlenµÄ×Ö·û´®Óë´Ê±íÖеĴÊÏàÆ¥Å䣬ÈôÆ¥Åä³É¹¦£¬Ôò¿ÉÈ·¶¨Õâ¸ö×Ö·û´®Îª“´Ê”£¬È»ºó½«×Ö·ûÖ¸ÕëÏòºóÒƶ¯maxlen¸öºº×Ö¼ÌÐø½øÐÐÆ¥Å䣻·ñÔòÔò°Ñ¸Ã×Ö·û´®Öð´Î¼õÒ»“×Ö”£¨Á½¸öÓ¢ÎÄ×Ö·û£©£¬ÔÙÓë´Ê±íÖеĴʽøÐÐÆ¥Å䣬ֱµ½³É¹¦ÎªÖ¹¡£
¡¡¡¡¶þ¡¢×î´óÕýÏòÆ¥ÅäËã·¨µÄVC++ʵÏÖ
¡¡¡¡¸ù¾ÝÒÔÉ϶Ô×î´óÕýÏòÆ¥ÅäËã·¨µÄ·ÖÎö£¬ÀûÓÃVisual C++ÖеÄMFC¶Ô×î´óÕýÏòÆ¥ÅäËã·¨½øÐÐÁËʵÏÖ£¬ÒÔÏÂÊdzÌÐòÖÐʵÏÖÕýÏò×î´óÆ¥ÅäµÄ¹Ø¼ü´úÂ룺
¡¡¡¡#define maxlen8//×î´ó´Ê³¤Îª8×Ö·û£¨¼´4¸öºº×Ö£©
¡¡¡¡#define Separator" "//´Ê½ç±ê¼ÇΪ¿Õ¸ñ
¡¡¡¡CMyDictionary MyDict;//¶¨Òå·Ö´Ê´Êµä
¡¡¡¡CString SegmentHzStrMM (CString sr)//¶Ôsr½øÐÐÕýÏò×î´óÆ¥Åä·Ö´Ê
¡¡¡¡{CString st=""; //ÓÃÓÚ´æ·Å·Ö´Ê½á¹û
¡¡¡¡ while(!sr.IsEmpty())//Ô´´®²»¿ÕÔòÑ­»··Ö´Ê
¡¡¡¡{int len=sr.GetLength();//È¡Ô´´®µÄ³¤¶È
¡¡¡¡if (len>maxlen)//Èç¹ûÔ´´®´®³¤¶È´óÓÚ×î´ó´Ê³¤
¡¡¡¡len=maxlen;
¡¡¡¡CString w=sr.Left(len);//ÕýÏò×î´óÆ¥Å䣬´Ó×ó±ßÈ¡³ö³¤¶ÈΪlenµÄ×Ó´®
¡¡¡¡ intn=MyDict.match(w);//ÔڴʵäÖнøÐÐÆ¥Å䣬·µ»Ø‚ŽÎª0»ò1
¡¡¡¡while(len>2&&n==0)//²»ÊÇ´ÊÇÒ×Ö´®³¤¶È´óÓÚÒ»¸öºº×Ö
¡¡¡¡{len-=2;//´ÓºòÑ¡´ÊÓұ߼õµôÒ»¸öºº×Ö£¬¼ÌÐø½øÐÐÆ¥Åä
¡¡¡¡w=w.Left(len);
¡¡¡¡ n=MyDict.match(w);}
¡¡¡¡ st+=w+Separator;//½«Æ¥ÅäµÃµ½µÄ´ÊÁ¬Í¬´Ê½ç±ê¼Ç¼Óµ½Êä³ö´®Ä©Î²
¡¡¡¡ sr=sr.Mid(w.GetLength());}
¡¡¡¡ return st;}
¡¡¡¡Èý¡¢ÊµÑé·ÖÎö
¡¡¡¡ÏµÍ³¿ª·¢Íê³Éºó£¬ÎÒÃÇÀûÓôӻ¥ÁªÍøÉÏËæ»úÏÂÔصÄÊý¾Ý½øÐÐÁ˲âÊÔ£¬´Ó²âÊÔ½á¹ûÀ´¿´£¬»ùÓÚ“»úеƥÅ䔵ķִʷ½·¨È·Êµ´æÔÚ×Å·Ö´Ê׼ȷÂʽϵ͵ÄÎÊÌâ¡£·ÖÎö´ËÎÊÌ⣬ÎÒÈÏΪÖ÷ÒªÓÐÒÔÏÂÔ­Òò£º
¡¡¡¡£¨Ò»£©´Êµä¶Ô·Ö´Ê¾«¶ÈµÄÓ°Ï죺ÓÉÓÚ“»úеƥÅä·½·¨”ÊÇÖ±½ÓÈ¡Ò»¸ö×Ö´®ºÍ´ÊµäÖеē´ÊÌõ”½øÐÐÆ¥Å䣬ƥÅä³É¹¦¾ÍÈÏΪÊÇÒ»¸ö´Ê£¬Æ¥Åäʧ°ÜÔòÈÏΪ²»ÊÇÒ»¸ö“´Ê”£¬Òò´ËÔÚ´ËÀà·½·¨ÖУ¬´Êµä¶Ô·Ö´ÊµÄ¾«¶ÈÓ°ÏìÊÇ×î´óºÍ×îÖ±½ÓµÄ¡£µ«ÊÇÓÉÓÚººÓïÖГ´Ê”µÄÁé»îÐԺͺºÓïÖдóÁ¿Î´µÇ¼´ÊµÄ´æÔÚ£¬Òò´ËÒª½¨Á¢Ò»¸öÍ걸µÄ´Êµä»ù±¾ÉÏÊDz»¿ÉÄܵÄÊÂÇé¡£
¡¡¡¡£¨¶þ£©×î´ó×Ö´®³¤¶È¶Ô·Ö´ÊµÄÓ°Ï죺ΪÁ˱£Ö¤·Ö´ÊϵͳµÄ·Ö´ÊЧÂÊ£¬Ò»°ãÇé¿öÏ»ùÓÚ“»úеƥÅ䔵ķ½·¨ÖУ¬¶Ô×î´ó´ÊµÄ³¤¶È¶¼ÓÐÒ»¸ö³õʼ»¯µÄ³¤¶È£¬µ«ÕâÒ»³¤¶È¶Ô·Ö´Ê¾«¶ÈÒ²»áÓÐÓ°Ïì¡£±ÈÈçÉ趨×î´ó´Ê³¤Îª°Ë£¬ÔòÔÚ·Ö´Êʱ“ÖлªÈËÃñ¹²ºÍ¹ú”½«²»»á×îΪһ¸ö´ÊÀ´´¦Àí¡£
¡¡¡¡£¨Èý£©“δµÇ¼”´Ê¶Ô·Ö´Ê¾«¶ÈµÄÓ°Ï죺“δµÇ¼”´ÊÖ÷ÒªÖ¸ººÓïÖеÄÈËÃû¡¢µØÃû¡¢»ú¹¹Ãû¡¢×éÖ¯Ãû£¬ÓÉÓÚÕâÀà´ÊÔÚººÓïÖоßÓиü´óµÄÁé»îÐÔ£¬¶øÇÒËæ×Åʱ¼äµÄÍÆÒÆ£¬“δµÇ¼”´Ê´ÊÌõºÍµÄÊýÄ¿Ò²»á²úÉú±ä»¯£¬Òò´ËÔڴʵäÖв»¿ÉÄÜҲûÓа취ÊÕ¼ȫ²¿µÄ“δµÇ¼”´Ê£¬ËùÒԓδµÇ¼”´ÊµÄ´æÔÚ»á¶Ô¸Ã·½·¨²úÉúºÜ´óµÄÓ°Ïì[1]¡£
¡¡¡¡£¨ËÄ£©“ÆçÒ唴ʶԷִʾ«¶ÈµÄÓ°Ï죺ÆçÒå¿É·ÖΪ½»¼¯ÐÍÆçÒå¡¢×éºÏÐÍÆçÒåºÍ»ìºÏÐÍÆçÒ壬±ÈÈ瓲»Í¬Òâ¼û”¿ÉÒÔÇзÖΪ“²»Í¬Òâ¼û”£¬Ò²¿É·Ö³É“²»Í¬Òâ¼û”¡£¶øÓÉÓÚ×ÔÈ»ÓïÑÔ±¾Éí´æÔڵĶþÒåÐÔ£¬Ê¹µÃ“ÆçÒ唶Էִʾ«¶ÈÒ²»á²úÉúºÜ´óµÄÓ°Ïì¡£µ«ÕâÖÐÇé¿öÔÚÆäËûµÄ·Ö´Ê·Å¹ýÖÐÒ²»á´æÔÚ£¬²¢²»ÊÇ“»úеƥÅä”Ëã·¨¶ÀÓеÄÎÊÌâ¡£
¡¡¡¡ËÄ¡¢×ܽá
¡¡¡¡ËäÈ»“»úеƥÅä”·½·¨´æÔÚ×ÅÒ»¶¨µÄȱÏÝ£¬µ«ÊÇ´Ë·½·¨È´¾ßÓв»ÐèҪѵÁ·Ä£ÐÍ¡¢Æ¥ÅäËٶȿ졢ʵÏÖ¼òµ¥µÈÓŵ㣬Òò´ËÎÒÃÇÓÐÀíÓÉÈÏΪ×÷ΪͨÓõķִÊËã·¨¸Ã·½·¨¿ÉÄÜ´æÔÚ×Ų»¾¡ÈçÈËÒâµÄµØ·½£¬µ«¶ÔijһרҵÁìÓòÀ´½²£¬½¨Á¢¸ÃÁìÓòµÄרÓôʵäÀûÓÓ»úеƥÅä”Ëã·¨½øÐзִʻ¹ÊÇÒ»¸öÖµµÃ¿¼ÂǵÄ˼·£¬¶øÕâÒ²ÕýÊÇÎÒÃÇÏÂÒ»²½ÒªÅ¬Á¦µÄÄ¿±ê£¬Ò²ÊÇÎÒÃDZ¾´ÎÊÔÑéµÄÄ¿µÄ¡£
¡¡¡¡
¡¡¡¡²Î¿¼ÎÄÏ×£º
¡¡¡¡[1]»Æ²ýÄþ.ÖÐÎÄÐÅÏ¢´¦ÀíÖеķִÊÎÊÌâ[J].ÓïÑÔÎÄ×ÖÓ¦ÓÃ,1997,(1):72-78.
¡¡¡¡[2]Òó½¨Æ½.ººÓï×Ô¶¯·Ö´Ê·½·¨[J].¼ÆËã»ú¹¤³ÌÓë¿Æѧ,1998,20,(3):60-66.
¡¡¡¡[3]ÍõÑÞ,Ôª²ý°².»ùÓÚVC++/MFCµÄÖÐÎÄ×Ô¶¯·Ö´ÊËã·¨¼°ÆäÈí¼þµÄʵÏÖ[J].¹ãÎ÷ʦ·¶Ñ§ÔºÑ§±¨,2008,25,(3):104-108.

(ÔðÈα༭£ºnylw.net)תÌùÓڰ˶ÈÂÛÎÄ·¢±íÍø: http://www.8dulw.com(ÂÛÎÄÍø__´úд´ú·¢ÂÛÎÄ_ÂÛÎÄ·¢±í_±ÏÒµÂÛÎÄ_Ãâ·ÑÂÛÎÄ·¶ÎÄÍø_ÂÛÎĸñʽ_¹ã¶«ÂÛÎÄÍø_¹ãÖÝÂÛÎÄÍø)
·¢±íÆÀÂÛ
±¾Õ¾Ä£°å¾ù¾­²âÊԳɹ¦£¬Çë·ÅÐÄÏÂÔØ£¬Óöµ½ÈκÎÎÊÌâ»òÕßÐèÒª¹ºÂò¸¶·ÑÂÛÎÄÇëÁªÏµ±¾Õ¾¡£
񡀂:
ÑéÖ¤Âë:µã»÷ÎÒ¸ü»»Í¼Æ¬