CMGDK r49-rc2
|
00001 # i f n d e f H G L _ S T R _ T E M P L A T E _ I N C L U D E 00002 00003 # d e f i n e H G L _ S T R _ T E M P L A T E _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / C o d e P a g e . H > 00008 00009 n a m e s p a c e h g l 00010 00011 { 00012 00013 / * * 00014 00015 * [[W[&{2N{W[2N^ 00016 00017 * @ p a r a m s t r {^vW[&{2Nc 00018 00019 * @ r e t u r n W[&{2N^ 00020 00021 * / 00022 00023 t e m p l a t e < t y p e n a m e T > 00024 00025 i n t s t r l e n ( c o n s t T * s t r ) 00026 00027 { 00028 00029 i f ( s t r & & * s t r ) 00030 00031 { 00032 00033 c o n s t T * s t a r t = s t r ; 00034 00035 00036 00037 w h i l e ( * s t r + + ) ; 00038 00039 00040 00041 r e t u r n i n t ( s t r - s t a r t - 1 ) ; 00042 00043 } 00044 00045 e l s e 00046 00047 r e t u r n ( 0 ) ; 00048 00049 } 00050 00051 00052 00053 / * * 00054 00055 * 00056 Y6RW[&{2N 00057 00058 * @ p a r a m d s t vhW[&{2N 00059 00060 * @ p a r a m s r c nW[&{2N 00061 00062 * / 00063 00064 t e m p l a t e < t y p e n a m e T > 00065 00066 v o i d s t r c p y ( T * d s t , c o n s t T * s r c ) 00067 00068 { 00069 00070 i f ( ! d s t ) r e t u r n ; 00071 00072 00073 00074 i f ( ! s r c | | ! ( * s r c ) ) 00075 00076 * d s t = 0 ; 00077 00078 e l s e 00079 00080 w h i l e ( ( * d s t + + ) = ( * s r c + + ) ) ; 00081 00082 } 00083 00084 00085 00086 / * * 00087 00088 * 00089 Y6RW[&{2Nv^c[ g'Y^ 00090 00091 * @ p a r a m d s t vhW[&{2N 00092 00093 * @ p a r a m s r c nW[&{2N 00094 00095 * @ p a r a m c o u n t gY 00096 Y6RY\*NW[&{ 00097 00098 * / 00099 00100 t e m p l a t e < t y p e n a m e T > 00101 00102 v o i d s t r c p y ( T * d s t , i n t c o u n t , c o n s t T * s r c ) 00103 00104 { 00105 00106 i f ( ! d s t ) r e t u r n ; 00107 00108 00109 00110 i f ( ! s r c | | ! ( * s r c ) | | c o u n t < = 0 ) 00111 00112 { 00113 00114 / / lNHN}Y 00115 Y6Rv 00116 00117 * d s t = 0 ; 00118 00119 r e t u r n ; 00120 00121 } 00122 00123 00124 00125 i f ( ! s r c | | ! ( * s r c ) ) 00126 00127 * d s t = 0 ; 00128 00129 e l s e 00130 00131 w h i l e ( ( ( * d s t + + ) = ( * s r c + + ) ) & & c o u n t - - ) ; 00132 00133 } 00134 00135 00136 00137 / * * 00138 00139 * 00140 Y6RW[&{2Nv^c[ g'Y^ 00141 00142 * @ p a r a m d s t vhW[&{2N 00143 00144 * @ p a r a m s r c nW[&{2N 00145 00146 * @ p a r a m c o u n t gY 00147 Y6RY\*NW[&{ 00148 00149 * / 00150 00151 t e m p l a t e < t y p e n a m e T > 00152 00153 v o i d s t r c p y ( T * d s t , c o n s t T * s r c , i n t c o u n t ) 00154 00155 { 00156 00157 i f ( ! d s t ) r e t u r n ; 00158 00159 00160 00161 i f ( ! s r c | | ! ( * s r c ) | | c o u n t < = 0 ) 00162 00163 { 00164 00165 / / lNHN}Y 00166 Y6Rv 00167 00168 * d s t = 0 ; 00169 00170 r e t u r n ; 00171 00172 } 00173 00174 00175 00176 w h i l e ( c o u n t & & ( * d s t + + = * s r c + + ) ) 00177 00178 c o u n t - - ; 00179 00180 00181 00182 i f ( ! c o u n t ) / / Yg/fV:Nc o u n t 0R4YN 00183 00184 * d s t = 0 ; 00185 00186 } 00187 00188 00189 00190 / * * 00191 00192 * (WW[&{2Ns t r 1 Qg~bS N*NW[&{2Ns t r 2 00193 00194 * @ p a r a m s t r 1 [tevW[&{2N 00195 00196 * @ p a r a m s t r 2 g~bvW[&{2N 00197 00198 * @ r e t u r n s t r 2 (Ws t r 1 -N@b(WMOnvc 00199 00200 * / 00201 00202 t e m p l a t e < t y p e n a m e T > 00203 00204 T * s t r s t r ( T * s t r 1 , c o n s t T * s t r 2 ) 00205 00206 { 00207 00208 T * c p = ( T * ) s t r 1 ; 00209 00210 T * s 1 , * s 2 ; 00211 00212 00213 00214 i f ( ! * s t r 2 ) 00215 00216 r e t u r n ( T * ) s t r 1 ; 00217 00218 00219 00220 w h i l e ( * c p ) 00221 00222 { 00223 00224 s 1 = c p ; 00225 00226 s 2 = ( T * ) s t r 2 ; 00227 00228 00229 00230 w h i l e ( * s 1 & & * s 2 & & ! ( * s 1 - * s 2 ) ) 00231 00232 s 1 + + , s 2 + + ; 00233 00234 00235 00236 i f ( ! * s 2 ) 00237 00238 r e t u r n ( c p ) ; 00239 00240 00241 00242 c p + + ; 00243 00244 } 00245 00246 00247 00248 r e t u r n ( N U L L ) ; 00249 00250 } 00251 00252 00253 00254 / * * 00255 00256 * 00257 Y6R N*NW[&{0RS_MRW[&{2NTb 00258 00259 * @ p a r a m d s t vhW[&{2N 00260 00261 * @ p a r a m s r c nW[&{ 00262 00263 * / 00264 00265 t e m p l a t e < t y p e n a m e T > 00266 00267 v o i d s t r c a t ( T * d s t , c o n s t T s r c ) 00268 00269 { 00270 00271 i f ( ! d s t | | ! s r c ) r e t u r n ; 00272 00273 00274 00275 w h i l e ( * d s t + + ) ; / / ~b0R~_g 00276 00277 d s t - - ; 00278 00279 00280 00281 * d s t + + = s r c ; 00282 00283 * d s t = 0 ; 00284 00285 } 00286 00287 00288 00289 / * * 00290 00291 * 00292 Y6R N*NW[&{2N0RS_MRW[&{2NTb 00293 00294 * @ p a r a m d s t vhW[&{2N 00295 00296 * @ p a r a m s r c nW[&{2N 00297 00298 * / 00299 00300 t e m p l a t e < t y p e n a m e T > 00301 00302 v o i d s t r c a t ( T * d s t , c o n s t T * s r c ) 00303 00304 { 00305 00306 i f ( ! d s t | | ! s r c | | ! ( * s r c ) ) r e t u r n ; 00307 00308 00309 00310 w h i l e ( * d s t + + ) ; / / ~b0R~_g 00311 00312 d s t - - ; 00313 00314 00315 00316 w h i l e ( ( * d s t + + ) = ( * s r c + + ) ) ; / / 00317 Y6R 00318 00319 } 00320 00321 00322 00323 / * * 00324 00325 * 00326 Y6R N*NW[&{2N0RS_MRW[&{2NTbv^c[ g'Y^ 00327 00328 * / 00329 00330 t e m p l a t e < t y p e n a m e T > 00331 00332 v o i d s t r c a t ( T * d s t , c o n s t T * s r c , i n t c o u n t ) 00333 00334 { 00335 00336 i f ( ! d s t | | ! s r c | | ! ( * s r c ) | | c o u n t < = 0 ) r e t u r n ; 00337 00338 00339 00340 w h i l e ( * d s t + + ) ; / / ~b0R~_g 00341 00342 d s t - - ; 00343 00344 00345 00346 w h i l e ( c o u n t & & ( * d s t + + = * s r c + + ) ) 00347 00348 c o u n t - - ; 00349 00350 00351 00352 i f ( ! c o u n t ) 00353 00354 * d s t = 0 ; 00355 00356 } 00357 00358 00359 00360 / * * 00361 00362 * (WW[&{2N-Ng~bg*NW[&{ 00363 00364 * @ p a r a m s t r W[&{2N 00365 00366 * @ p a r a m c h W[&{ 00367 00368 * @ r e t u r n g~b0RvMOnc 00369 00370 * / 00371 00372 t e m p l a t e < t y p e n a m e T > 00373 00374 T * s t r c h r ( c o n s t T * s t r , c o n s t T c h ) 00375 00376 { 00377 00378 i f ( ! s t r | | ! ( * s t r ) ) r e t u r n ( 0 ) ; 00379 00380 00381 00382 w h i l e ( * s t r ) 00383 00384 { 00385 00386 i f ( * s t r = = c h ) 00387 00388 r e t u r n ( ( T * ) s t r ) ; 00389 00390 e l s e 00391 00392 s t r + + ; 00393 00394 } 00395 00396 00397 00398 r e t u r n ( N U L L ) ; 00399 00400 } 00401 00402 00403 00404 / * * 00405 00406 * (WW[&{2N-Ng~bg*NW[&{, c[W[&{2N g'Y^ 00407 00408 * @ p a r a m s t r W[&{2N 00409 00410 * @ p a r a m c h W[&{ 00411 00412 * @ p a r a m n W[&{2N^ 00413 00414 * @ r e t u r n g~b0RvMOnc 00415 00416 * / 00417 00418 t e m p l a t e < t y p e n a m e T > 00419 00420 T * s t r c h r ( c o n s t T * s t r , c o n s t T c h , i n t n ) 00421 00422 { 00423 00424 i f ( ! s t r | | ! ( * s t r ) ) r e t u r n ( 0 ) ; 00425 00426 00427 00428 w h i l e ( * s t r & & n - - ) 00429 00430 { 00431 00432 i f ( * s t r = = c h ) 00433 00434 r e t u r n ( ( T * ) s t r ) ; 00435 00436 e l s e 00437 00438 s t r + + ; 00439 00440 } 00441 00442 00443 00444 r e t u r n ( 0 ) ; 00445 00446 } 00447 00448 00449 00450 / * * 00451 00452 * (WW[&{2N-NN~>\Y _Yg~bg*NW[&{ 00453 00454 * @ p a r a m s t r W[&{2N 00455 00456 * @ p a r a m c h W[&{ 00457 00458 * @ r e t u r n g~b0RvMOnc 00459 00460 * / 00461 00462 t e m p l a t e < t y p e n a m e T > 00463 00464 T * s t r r c h r ( c o n s t T * s t r , c o n s t T c h ) 00465 00466 { 00467 00468 i f ( ! s t r | | ! ( * s t r ) ) r e t u r n ( N U L L ) ; 00469 00470 00471 00472 T * r e s u l t = N U L L ; 00473 00474 00475 00476 w h i l e ( * s t r ) 00477 00478 { 00479 00480 i f ( * s t r = = c h ) r e s u l t = ( T * ) s t r ; 00481 00482 00483 00484 s t r + + ; 00485 00486 } 00487 00488 00489 00490 r e t u r n ( r e s u l t ) ; 00491 00492 } 00493 00494 00495 00496 / * * 00497 00498 * k$N*NW[&{2Nv'Y\ 00499 00500 * @ p a r a m s r c , d s t kvW[&{2N 00501 00502 * @ r e t u r n - 1 s r c < d s t 00503 00504 * @ r e t u r n 0 s r c = = d s t 00505 00506 * @ r e t u r n + 1 s r c > d s t 00507 00508 * / 00509 00510 t e m p l a t e < t y p e n a m e T > 00511 00512 i n t s t r c m p ( c o n s t T * s r c , c o n s t T * d s t ) 00513 00514 { 00515 00516 i f ( ! s r c ) 00517 00518 { 00519 00520 i f ( ! d s t ) r e t u r n ( 0 ) ; 00521 00522 e l s e r e t u r n ( - 1 ) ; 00523 00524 } 00525 00526 00527 00528 i f ( ! d s t ) r e t u r n ( 1 ) ; 00529 00530 00531 00532 w h i l e ( ( * s r c = = * d s t ) & & ( * s r c ) ) 00533 00534 { 00535 00536 s r c + + ; 00537 00538 d s t + + ; 00539 00540 } 00541 00542 00543 00544 r e t u r n ( * s r c - * d s t ) ; 00545 00546 } 00547 00548 00549 00550 / * * 00551 00552 * k$N*NW[&{2Nv'Y\, v^c[ g'Yk^ 00553 00554 * @ p a r a m s r c , d s t kvW[&{2N 00555 00556 * @ p a r a m c o u n t kv g'Y^ 00557 00558 * @ r e t u r n - 1 s r c < d s t 00559 00560 * @ r e t u r n 0 s r c = = d s t 00561 00562 * @ r e t u r n + 1 s r c > d s t 00563 00564 * / 00565 00566 t e m p l a t e < t y p e n a m e T > 00567 00568 i n t s t r c m p ( c o n s t T * s r c , c o n s t T * d s t , i n t c o u n t ) 00569 00570 { 00571 00572 i f ( c o u n t < = 0 ) r e t u r n ( 0 ) ; 00573 00574 00575 00576 i f ( ! s r c ) 00577 00578 { 00579 00580 i f ( ! d s t ) r e t u r n ( 0 ) ; 00581 00582 e l s e r e t u r n ( - 1 ) ; 00583 00584 } 00585 00586 00587 00588 i f ( ! d s t ) r e t u r n ( 1 ) ; 00589 00590 00591 00592 w h i l e ( ( - - c o u n t ) & & ( * s r c = = * d s t ) ) 00593 00594 { 00595 00596 s r c + + ; 00597 00598 d s t + + ; 00599 00600 } 00601 00602 00603 00604 r e t u r n ( * s r c - * d s t ) ; 00605 00606 } 00607 00608 00609 00610 / * * 00611 00612 * k$N*NW[&{2Nv'Y\( e 00613 N:S'Y\Q) 00614 00615 * @ p a r a m s r c , d s t kvW[&{2N 00616 00617 * @ r e t u r n - 1 s r c < d s t 00618 00619 * @ r e t u r n 0 s r c = = d s t 00620 00621 * @ r e t u r n + 1 s r c > d s t 00622 00623 * / 00624 00625 t e m p l a t e < t y p e n a m e T > 00626 00627 i n t s t r i c m p ( c o n s t T * s r c , c o n s t T * d s t ) 00628 00629 { 00630 00631 i f ( ! s r c ) 00632 00633 { 00634 00635 i f ( ! d s t ) r e t u r n ( 0 ) ; 00636 00637 e l s e r e t u r n ( - 1 ) ; 00638 00639 } 00640 00641 00642 00643 i f ( ! d s t ) r e t u r n ( 1 ) ; 00644 00645 00646 00647 w h i l e ( * s r c & & * d s t ) 00648 00649 { 00650 00651 i f ( * s r c ! = * d s t ) 00652 00653 { 00654 00655 i f ( * s r c > = ' A ' & & * s r c < = ' Z ' ) 00656 00657 { 00658 00659 i f ( ( * s r c ) + ( ' a ' - ' A ' ) ! = * d s t ) b r e a k ; 00660 00661 } 00662 00663 e l s e 00664 00665 i f ( * s r c > = ' a ' & & * s r c < = ' z ' ) 00666 00667 { 00668 00669 i f ( ( * s r c ) + ( ' A ' - ' a ' ) ! = * d s t ) b r e a k ; 00670 00671 } 00672 00673 e l s e 00674 00675 b r e a k ; 00676 00677 } 00678 00679 00680 00681 s r c + + ; 00682 00683 d s t + + ; 00684 00685 } 00686 00687 00688 00689 r e t u r n ( * s r c - * d s t ) ; 00690 00691 } 00692 00693 00694 00695 / * * 00696 00697 * k$N*NW[&{2Nv'Y\( e 00698 N:S'Y\Q) 00699 00700 * @ p a r a m s r c , d s t kvW[&{2N 00701 00702 * @ p a r a m c o u n t kv g'Y^ 00703 00704 * @ r e t u r n - 1 s r c < d s t 00705 00706 * @ r e t u r n 0 s r c = = d s t 00707 00708 * @ r e t u r n + 1 s r c > d s t 00709 00710 * / 00711 00712 t e m p l a t e < t y p e n a m e T > 00713 00714 i n t s t r i c m p ( c o n s t T * s r c , c o n s t T * d s t , c o n s t i n t c o u n t ) 00715 00716 { 00717 00718 i f ( ! s r c ) 00719 00720 { 00721 00722 i f ( ! d s t ) r e t u r n ( 0 ) ; 00723 00724 e l s e r e t u r n ( - 1 ) ; 00725 00726 } 00727 00728 00729 00730 i f ( ! d s t ) r e t u r n ( 1 ) ; 00731 00732 00733 00734 w h i l e ( ( - - c o u n t ) & & ( * s r c ) & & ( * d s t ) ) 00735 00736 { 00737 00738 i f ( * s r c ! = * d s t ) 00739 00740 { 00741 00742 i f ( * s r c > = ' A ' & & * s r c < = ' Z ' ) 00743 00744 { 00745 00746 i f ( ( * s r c ) + ( ' a ' - ' A ' ) ! = * d s t ) b r e a k ; 00747 00748 } 00749 00750 e l s e 00751 00752 i f ( * s r c > = ' a ' & & * s r c < = ' z ' ) 00753 00754 { 00755 00756 i f ( ( * s r c ) + ( ' A ' - ' a ' ) ! = * d s t ) b r e a k ; 00757 00758 } 00759 00760 e l s e 00761 00762 b r e a k ; 00763 00764 } 00765 00766 00767 00768 s r c + + ; 00769 00770 d s t + + ; 00771 00772 } 00773 00774 00775 00776 r e t u r n ( * s r c - * d s t ) ; 00777 00778 } 00779 00780 00781 00782 / * * 00783 00784 * ~ N*NeN 00785 Tf9eibU\ 00786 T 00787 00788 * @ p a r a m o l d _ f i l e n a m e SYeN 00789 Ty 00790 00791 * @ p a r a m n e w _ f i l e n a m e eeN 00792 Ty 00793 00794 * @ p a r a m n e w _ e x t n a m e eibU\ 00795 T( 00796 N&^. ) 00797 00798 * / 00799 00800 t e m p l a t e < t y p e n a m e T > 00801 00802 v o i d R e p l a c e E x t N a m e ( c o n s t T * o l d _ f i l e n a m e , T * n e w _ f i l e n a m e , c o n s t T * n e w _ e x t n a m e ) 00803 00804 { 00805 00806 T * p = s t r r c h r ( o l d _ f i l e n a m e , L ' . ' ) ; 00807 00808 00809 00810 i f ( p ) 00811 00812 { 00813 00814 s t r c p y ( n e w _ f i l e n a m e , o l d _ f i l e n a m e , p - o l d _ f i l e n a m e + 1 ) ; 00815 00816 s t r c p y ( n e w _ f i l e n a m e + ( p - o l d _ f i l e n a m e + 1 ) , n e w _ e x t n a m e ) ; 00817 00818 } 00819 00820 e l s e 00821 00822 { 00823 00824 c o n s t i n t l = s t r l e n ( o l d _ f i l e n a m e ) ; 00825 00826 00827 00828 s t r c p y ( n e w _ f i l e n a m e , o l d _ f i l e n a m e , l ) ; 00829 00830 n e w _ f i l e n a m e [ l ] = L ' . ' ; 00831 00832 s t r c p y ( n e w _ f i l e n a m e + l + 1 , n e w _ e x t n a m e ) ; 00833 00834 } 00835 00836 } 00837 00838 00839 00840 / * * 00841 00842 * ~ N*NeN 00843 Tf9eibU\ 00844 T 00845 00846 * @ p a r a m f i l e n a m e eN 00847 Ty 00848 00849 * @ p a r a m n e w _ e x t n a m e eibU\ 00850 T( 00851 N&^. ) 00852 00853 * / 00854 00855 t e m p l a t e < t y p e n a m e T > 00856 00857 v o i d R e p l a c e E x t N a m e ( T * f i l e n a m e , c o n s t T * n e w _ e x t n a m e ) 00858 00859 { 00860 00861 T * p = s t r r c h r ( f i l e n a m e , L ' . ' ) ; 00862 00863 00864 00865 i f ( p ) 00866 00867 { 00868 00869 s t r c p y ( p + 1 , n e w _ e x t n a m e ) ; 00870 00871 } 00872 00873 e l s e 00874 00875 { 00876 00877 s t r c a t ( f i l e n a m e , L ' . ' ) ; 00878 00879 s t r c a t ( f i l e n a m e , n e w _ e x t n a m e ) ; 00880 00881 } 00882 00883 } 00884 00885 00886 00887 / * * 00888 00889 * R^ N*N 00890 Y6R 00891 00892 * @ p a r a m s t r 00893 Y6RvW[&{2N 00894 00895 * @ p a r a m s i z e W[&{2N^, - 1 h:yꁨRKmՋ 00896 00897 * @ r e t u r n 00898 Y6RQegvW[&{2N 00899 00900 * / 00901 00902 t e m p l a t e < t y p e n a m e T > 00903 00904 T * C r e a t e C o p y ( c o n s t T * s t r , i n t s i z e = - 1 ) 00905 00906 { 00907 00908 i f ( ! s t r ) r e t u r n ( N U L L ) ; 00909 00910 00911 00912 T * c o p y ; 00913 00914 00915 00916 i f ( s i z e = = - 1 ) s i z e = s t r l e n ( s t r ) ; 00917 00918 00919 00920 i f ( s i z e = = 0 ) r e t u r n ( N U L L ) ; 00921 00922 00923 00924 s i z e + + ; 00925 00926 00927 00928 c o p y = n e w T [ s i z e ] ; 00929 00930 s t r c p y ( c o p y , s t r , s i z e ) ; 00931 00932 00933 00934 r e t u r n ( c o p y ) ; 00935 00936 } 00937 00938 00939 00940 / * * 00941 00942 * \ N*NW[&{2N-Nvg*NW[&{hQfbc:NS N*NW[&{ 00943 00944 * @ p a r a m s t r i n g YtvW[&{2N 00945 00946 * @ p a r a m s c h fbccvW[&{ 00947 00948 * @ p a r a m t c h fbcTvW[&{ 00949 00950 * / 00951 00952 t e m p l a t e < t y p e n a m e T > 00953 00954 v o i d R e p l a c e C h a r ( T * s t r i n g , c o n s t T s c h , c o n s t T t c h ) 00955 00956 { 00957 00958 i f ( ! s t r i n g ) r e t u r n ; 00959 00960 00961 00962 w h i l e ( * s t r i n g ) 00963 00964 { 00965 00966 i f ( * s t r i n g = = s c h ) 00967 00968 * s t r i n g = t c h ; 00969 00970 00971 00972 s t r i n g + + ; 00973 00974 } 00975 00976 } 00977 00978 00979 00980 / * * 00981 00982 * \ N*NW[&{2N-NvW[khQ9e:N'YQ 00983 00984 * @ p a r a m S o u r c e S t r i n g YtvW[&{2N 00985 00986 * / 00987 00988 t e m p l a t e < t y p e n a m e T > 00989 00990 v o i d U p p e r S t r i n g ( T * S o u r c e S t r i n g ) 00991 00992 { 00993 00994 i f ( ! S o u r c e S t r i n g ) r e t u r n ; 00995 00996 00997 00998 w h i l e ( * S o u r c e S t r i n g ) 00999 01000 { 01001 01002 i f ( * S o u r c e S t r i n g > = ' a ' & & * S o u r c e S t r i n g < = ' z ' ) 01003 01004 * S o u r c e S t r i n g - = 3 2 ; 01005 01006 01007 01008 S o u r c e S t r i n g + + ; 01009 01010 } 01011 01012 } 01013 01014 01015 01016 01017 01018 / * * 01019 01020 * \ N*NW[&{2N-NvW[khQ9e:N\Q 01021 01022 * @ p a r a m S o u r c e S t r i n g YtvW[&{2N 01023 01024 * / 01025 01026 t e m p l a t e < t y p e n a m e T > 01027 01028 v o i d L o w e r S t r i n g ( T * S o u r c e S t r i n g ) 01029 01030 { 01031 01032 i f ( ! S o u r c e S t r i n g ) r e t u r n ; 01033 01034 01035 01036 w h i l e ( * S o u r c e S t r i n g ) 01037 01038 { 01039 01040 i f ( * S o u r c e S t r i n g > = ' A ' & & * S o u r c e S t r i n g < = ' Z ' ) 01041 01042 * S o u r c e S t r i n g + = 3 2 ; 01043 01044 01045 01046 S o u r c e S t r i n g + + ; 01047 01048 } 01049 01050 } 01051 01052 01053 01054 01055 01056 / * * 01057 01058 * \ N*NW[&{2N-NvW[khQ9e:N'YQ 01059 01060 * @ p a r a m S o u r c e S t r i n g YtvW[&{2N 01061 01062 * / 01063 01064 t e m p l a t e < t y p e n a m e T > 01065 01066 v o i d U p p e r S t r i n g ( c o n s t T * S o u r c e S t r i n g , T * T a r g e t S t r i n g ) 01067 01068 { 01069 01070 i f ( ! T a r g e t S t r i n g ) r e t u r n ; 01071 01072 01073 01074 i f ( ! S o u r c e S t r i n g ) 01075 01076 { 01077 01078 * T a r g e t S t r i n g = N U L L ; 01079 01080 r e t u r n ; 01081 01082 } 01083 01084 01085 01086 d o 01087 01088 { 01089 01090 i f ( * S o u r c e S t r i n g > = ' A ' & & * S o u r c e S t r i n g < = ' Z ' ) 01091 01092 * T a r g e t S t r i n g + + = * S o u r c e S t r i n g - 3 2 ; 01093 01094 e l s e 01095 01096 * T a r g e t S t r i n g + + = * S o u r c e S t r i n g ; 01097 01098 01099 01100 S o u r c e S t r i n g + + ; 01101 01102 } w h i l e ( * S o u r c e S t r i n g ) ; 01103 01104 01105 01106 * T a r g e t S t r i n g = 0 ; 01107 01108 } 01109 01110 01111 01112 01113 01114 / * * 01115 01116 * \ N*NW[&{2N-NvW[khQ9e:N\Q 01117 01118 * @ p a r a m S o u r c e S t r i n g YtvW[&{2N 01119 01120 * / 01121 01122 t e m p l a t e < t y p e n a m e T > 01123 01124 v o i d L o w e r S t r i n g ( c o n s t T * S o u r c e S t r i n g , T * T a r g e t S t r i n g ) 01125 01126 { 01127 01128 i f ( ! T a r g e t S t r i n g ) r e t u r n ; 01129 01130 01131 01132 i f ( ! S o u r c e S t r i n g ) 01133 01134 { 01135 01136 * T a r g e t S t r i n g = N U L L ; 01137 01138 r e t u r n ; 01139 01140 } 01141 01142 01143 01144 d o 01145 01146 { 01147 01148 i f ( * S o u r c e S t r i n g > = ' A ' & & * S o u r c e S t r i n g < = ' Z ' ) 01149 01150 * T a r g e t S t r i n g + + = * S o u r c e S t r i n g + 3 2 ; 01151 01152 e l s e 01153 01154 * T a r g e t S t r i n g + + = * S o u r c e S t r i n g ; 01155 01156 01157 01158 S o u r c e S t r i n g + + ; 01159 01160 } w h i l e ( * S o u r c e S t r i n g ) ; 01161 01162 01163 01164 * T a r g e t S t r i n g = 0 ; 01165 01166 } 01167 01168 01169 01170 / * * 01171 01172 * ~(WW[&{2N-Ng*NW[&{vQs!kpe 01173 01174 * @ p a r a m s t r W[&{2N 01175 01176 * @ p a r a m c h 01177 01178 * @ r e t u r n Qs!kpe 01179 01180 * / 01181 01182 t e m p l a t e < t y p e n a m e T > 01183 01184 i n t S t a t C h a r ( c o n s t T * s t r , c o n s t T c h ) 01185 01186 { 01187 01188 i f ( ! s t r ) r e t u r n ( 0 ) ; 01189 01190 01191 01192 i n t c o u n t = 0 ; 01193 01194 01195 01196 w h i l e ( * s t r ) 01197 01198 { 01199 01200 i f ( * s t r + + = = c h ) 01201 01202 c o u n t + + ; 01203 01204 } 01205 01206 01207 01208 r e t u r n ( c o u n t ) ; 01209 01210 } 01211 01212 01213 01214 / * * 01215 01216 * ~ N*NW[&{2NvLpe 01217 01218 * / 01219 01220 t e m p l a t e < t y p e n a m e T > 01221 01222 i n t S t a t L i n e ( c o n s t T * s t r ) 01223 01224 { 01225 01226 i f ( ! s t r ) r e t u r n ( 0 ) ; 01227 01228 01229 01230 c o n s t T * p = s t r + s t r l e n ( s t r ) - 1 ; 01231 01232 01233 01234 i f ( * p = = ' \ n ' ) r e t u r n ( S t a t C h a r ( s t r , ' \ n ' ) ) ; 01235 01236 e l s e r e t u r n ( S t a t C h a r ( s t r , ' \ n ' ) + 1 ) ; 01237 01238 } 01239 01240 01241 01242 t e m p l a t e < t y p e n a m e T > 01243 01244 b o o l i s d i g i t ( c o n s t T c h ) 01245 01246 { 01247 01248 r e t u r n ( c h > = ' 0 ' & & c h < = ' 9 ' ) ; 01249 01250 } 01251 01252 01253 01254 / * * 01255 01256 * lbcA N S I W[&{2N0Rw c h a r _ t * W[&{2N 01257 01258 * @ p a r a m c c p Nxu 01259 01260 * @ p a r a m w s w c h a r _ t * W[&{2NQ:S 01261 01262 * @ p a r a m w s _ s i z e Q:S^ 01263 01264 * @ p a r a m a s a n s i W[&{2N 01265 01266 * @ p a r a m a s _ s i z e W[&{2N^, - 1 h:yhQ 01267 01268 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01269 01270 * / 01271 01272 i n t A n s i T o W i d e ( C C P c c p , w c h a r _ t * w s , i n t w s _ s i z e , c o n s t c h a r * a s , i n t a s _ s i z e = - 1 ) ; 01273 01274 01275 01276 / * * 01277 01278 * lbcA N S I W[&{2N0Rw c h a r _ t * W[&{2N( S_MR|~؞W[&{Ɩ) 01279 01280 * @ p a r a m w s w c h a r _ t * W[&{2NQ:S 01281 01282 * @ p a r a m w s _ s i z e Q:S^ 01283 01284 * @ p a r a m a s a n s i W[&{2N 01285 01286 * @ p a r a m a s _ s i z e W[&{2N^, - 1 h:yhQ 01287 01288 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01289 01290 * / 01291 01292 i n l i n e i n t A n s i T o W i d e ( w c h a r _ t * w s , i n t w s _ s i z e , c o n s t c h a r * a s , i n t a s _ s i z e = - 1 ) 01293 01294 { 01295 01296 r e t u r n A n s i T o W i d e ( c c p N o n e , w s , w s _ s i z e , a s , a s _ s i z e ) ; 01297 01298 } 01299 01300 01301 01302 / * * 01303 01304 * lbcA N S I W[&{2N0Rw c h a r _ t * W[&{2N 01305 01306 * @ p a r a m c c p Nxu 01307 01308 * @ p a r a m w s w c h a r _ t * W[&{2NQ:SꁨRRM KbRd e l e t e [ ] 01309 01310 * @ p a r a m a s a n s i W[&{2N 01311 01312 * @ p a r a m a s _ s i z e W[&{2N^, - 1 h:yhQ 01313 01314 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01315 01316 * / 01317 01318 i n t A n s i T o W i d e ( C C P c c p , w c h a r _ t * * w s , c o n s t c h a r * a s , i n t a s _ s i z e = - 1 ) ; 01319 01320 01321 01322 / * * 01323 01324 * lbcA N S I W[&{2N0Rw c h a r _ t * W[&{2N( S_MR|~؞W[&{Ɩ) 01325 01326 * @ p a r a m w s w c h a r _ t * W[&{2NQ:SꁨRRM KbRd e l e t e [ ] 01327 01328 * @ p a r a m a s a n s i W[&{2N 01329 01330 * @ p a r a m a s _ s i z e W[&{2N^, - 1 h:yhQ 01331 01332 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01333 01334 * / 01335 01336 i n l i n e i n t A n s i T o W i d e ( w c h a r _ t * * w s , c o n s t c h a r * a s , i n t a s _ s i z e = - 1 ) 01337 01338 { 01339 01340 r e t u r n A n s i T o W i d e ( c c p N o n e , w s , a s , a s _ s i z e ) ; 01341 01342 } 01343 01344 01345 01346 / * * 01347 01348 * lbcw c h a r _ t * W[&{2N0RA N S I W[&{2N 01349 01350 * @ p a r a m c c p Nxu 01351 01352 * @ p a r a m a s a n s i W[&{2N 01353 01354 * @ p a r a m a s _ s i z e W[&{2N^ 01355 01356 * @ p a r a m w s w c h a r _ t * W[&{2NQ:S 01357 01358 * @ p a r a m w s _ s i z e Q:S^, - 1 h:yhQ 01359 01360 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01361 01362 * / 01363 01364 i n t W i d e T o A n s i ( C C P c c p , c h a r * a s , i n t a s _ s i z e , c o n s t w c h a r _ t * w s , i n t w s _ s i z e = - 1 ) ; 01365 01366 01367 01368 / * * 01369 01370 * lbcw c h a r _ t * W[&{2N0RA N S I W[&{2N( S_MR|~؞W[&{Ɩ) 01371 01372 * @ p a r a m a s a n s i W[&{2N 01373 01374 * @ p a r a m a s _ s i z e W[&{2N^ 01375 01376 * @ p a r a m w s w c h a r _ t * W[&{2NQ:S 01377 01378 * @ p a r a m w s _ s i z e Q:S^, - 1 h:yhQ 01379 01380 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01381 01382 * / 01383 01384 i n l i n e i n t W i d e T o A n s i ( c h a r * a s , i n t a s _ s i z e , c o n s t w c h a r _ t * w s , i n t w s _ s i z e = - 1 ) 01385 01386 { 01387 01388 r e t u r n W i d e T o A n s i ( c c p N o n e , a s , a s _ s i z e , w s , w s _ s i z e ) ; 01389 01390 } 01391 01392 01393 01394 / * * 01395 01396 * lbcw c h a r _ t * W[&{2N0RA N S I W[&{2N 01397 01398 * @ p a r a m c c p Nxu 01399 01400 * @ p a r a m a s c h a r * W[&{2NQ:SꁨRRM KbRd e l e t e [ ] 01401 01402 * @ p a r a m w s w c h a r _ t * W[&{2N 01403 01404 * @ p a r a m w s _ s i z e W[&{2N^, - 1 h:yhQ 01405 01406 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01407 01408 * / 01409 01410 i n t W i d e T o A n s i ( C C P c c p , c h a r * * a s , c o n s t w c h a r _ t * w s , i n t w s _ s i z e = - 1 ) ; 01411 01412 01413 01414 / * * 01415 01416 * lbcw c h a r _ t * W[&{2N0RA N S I W[&{2N( S_MR|~؞W[&{Ɩ) 01417 01418 * @ p a r a m a s c h a r * W[&{2NQ:SꁨRRM KbRd e l e t e [ ] 01419 01420 * @ p a r a m w s w c h a r _ t * W[&{2N 01421 01422 * @ p a r a m w s _ s i z e W[&{2N^, - 1 h:yhQ 01423 01424 * @ r e t u r n lbcbRTvW[&{2NW[&{pe 01425 01426 * / 01427 01428 i n l i n e i n t W i d e T o A n s i ( c h a r * * a s , c o n s t w c h a r _ t * w s , i n t w s _ s i z e = - 1 ) 01429 01430 { 01431 01432 r e t u r n W i d e T o A n s i ( c c p N o n e , a s , w s , w s _ s i z e ) ; 01433 01434 } 01435 01436 } / / n a m e s p a c e h g l 01437 01438 # e n d i f / / H G L _ S T R _ T E M P L A T E _ I N C L U D E 01439 01440