ä»åã¯ãprintfé¢æ°ã«ã€ããŠã話ããŸãã ããã°ã©ã ã®è匱æ§ã«ã€ããŠã¯èª°ããè³ã«ããŸããããprintfã®ãããªæ©èœã¯çŠæ¢ãããŠããŸãã ãã ãããããã®æ©èœã䜿çšããªãæ¹ãè¯ãããšãç¥ã£ãŠããå¿ èŠããããŸãã ãããŠãŸã£ããå¥ã®-çç±ãç解ããã ãã®èšäºã§ã¯ãprintfé¢é£ããã°ã©ã ã®2ã€ã®å€å žçãªè匱æ§ã«ã€ããŠèª¬æããŸãã ãã®åŸã¯ããã«ãŒã«ãªãããšã¯ãããŸããããã³ãŒããæ¹ããŠç¢ºèªããŠãã ããã çªç¶ãæ°ã¥ããªããã¡ã«åæ§ã®è匱ãªæ©èœãå®è£ ããŸãã
ãã㊠èªè ãåŸ ã£ãŠãééããªãã§ãã ããã ç§ã¯ããªããåèªprintfãèŠãããšãç¥ã£ãŠããŸãã ãããŠããã®èšäºã®èè ã¯ãé¢æ°ãæž¡ãããåŒæ°ã®ã¿ã€ããå¶åŸ¡ããªãããšã«ã€ããŠãä»ãå¹³å¡ãªè©±ãããããšã«ãªããšç¢ºä¿¡ããŠããŸãã ããïŒ èšäºã§ã¯ããã«ã€ããŠã§ã¯ãªããè匱æ§ã«ã€ããŠèª¬æããŸãã èªãã§ãã ããã
åã®ã¡ã¢ã¯ãã¡ãã§ãïŒ ããŒã1
ã¯ããã«
ãã®è¡ãèŠãŠãã ããïŒ
printfïŒååïŒ;
圌女ã¯ã·ã³ãã«ã§ç¡å®³ãªããã§ãã äžæ¹ãããã°ã©ã ãæ»æããããã«å°ãªããšã2ã€ã®æ¹æ³ãé ãããŠããŸãã
ãã®è¡ããããã¢ããèšäºãå§ããŸãããã ã³ãŒãã¯å¥åŠã«æãããããããŸããã ããã§ãã åŸã§æ»æããããã°ã©ã ãæžãã®ã¯ããã»ã©ç°¡åã§ã¯ãªãããšãããããŸããã ãã€ã³ãã¯ãã³ã³ãã€ã©ãçæããæé©åã§ãã ããŸãã«ãåçŽãªããã°ã©ã ãäœæãããšãã³ã³ãã€ã©ãŒã¯ãç Žå£ãããã®ããªããããªã³ãŒããäœæããããšãããããŸãã ããŒã¿ãä¿åããããã«ã¹ã¿ãã¯ã§ã¯ãªãã¬ãžã¹ã¿ã䜿çšããé¢æ°ãªã©ãåã蟌ã¿ãŸãã ã³ã³ãã€ã©ã«ååãªç©ºãã¬ãžã¹ã¿ããªããããŒã¿ãã¹ã¿ãã¯ã«ããã·ã¥ãå§ããããã«ãäžå¿ èŠãªã¢ã¯ã·ã§ã³ãšã«ãŒãã䜿çšããŠã³ãŒããæžãããšãã§ããŸãã æ®å¿µãªããããã®äŸã¯å€§ããããŠãããã«ããã§ãã ããããã¹ãŠã«ã€ããŠå¥ã®æ¢åµå°èª¬ãæžãããšã¯ã§ããŸãããã§ããŸããã
æ瀺ãããäŸã¯ãè€éããšãã³ã³ãã€ã©ãåçŽãããŠãäœã«ã厩å£ããªããããšãé²ãå¿ èŠæ§ãšã®åŠ¥åæ¡ã§ãã ãšã«ãããç§ã¯å°ãå©ããŸããã Visual Studio 2010ã§äœ¿çšãããæé©åã®çš®é¡ã®äžéšãç¡å¹ã«ããŸãããæåã«ã/ GLïŒããã°ã©ã å šäœã®æé©åïŒã¹ã€ãããç¡å¹ã«ãªããŸããã 次ã«ã__ declspecïŒnoinlineïŒå±æ§ã䜿çšããŸããã
ãã®ãããªé·ã玹ä»ããaã³ããŸãã ããã°ã©ã ã³ãŒãã®äžåšçšããæ確ã«ãããã£ãã®ã§ãã ãŸãããã®ã³ãŒããããé©åã«äœæã§ãããšãããããã¯ã«é¢ããè°è«ãããã«äžæ¢ããŠãã ããã ç§ã¯ããªããã§ããããšãç¥ã£ãŠããŸãã ãã ããåæã«ã³ãŒããçãããããšã¯ã§ããªããããè匱æ§ã瀺ãããšãã§ããŸãã
ãã¢
Visual Studio 2010ã®å®å šãªã³ãŒããšãããžã§ã¯ãã¯ãã¡ãããå ¥æã§ããŸã ã
const size_t MAX_NAME_LEN = 60; åæåErrorStatus { E_ToShortNameãE_ToShortPassãE_BigNameãE_OK }; void PrintNormalizedNameïŒconst char * raw_nameïŒ { æåå[MAX_NAME_LEN + 1]; strcpyïŒååãraw_nameïŒ; forïŒsize_t i = 0; name [i]ïŒ= '\ 0'; ++ iïŒ name [i] = tolowerïŒname [i]ïŒ; name [0] = toupperïŒname [0]ïŒ; printfïŒååïŒ; } ErrorStatus IsCorrectPasswordïŒ const char * universalPasswordã BOOLïŒretIsOkPassïŒ { æåååããã¹ã¯ãŒãã printfïŒ "NameïŒ"ïŒ; cin >>åå; printfïŒ "ãã¹ã¯ãŒãïŒ"ïŒ; cin >>ãã¹ã¯ãŒã; ifïŒname.lengthïŒïŒ<1ïŒreturn E_ToShortName; ifïŒname.lengthïŒïŒ> MAX_NAME_LENïŒreturn E_BigName; ifïŒpassword.lengthïŒïŒ<1ïŒreturn E_ToShortPass; retIsOkPass = universalPasswordïŒ= NULL && strcmpïŒpassword.c_strïŒïŒãuniversalPasswordïŒ== 0; ifïŒïŒretIsOkPassïŒ retIsOkPass =åå[0] ==ãã¹ã¯ãŒã[0]; printfïŒ "Helloã"ïŒ; PrintNormalizedNameïŒname.c_strïŒïŒïŒ; return E_OK; } int _tmainïŒintãchar * []ïŒ { _set_printf_count_outputïŒ1ïŒ; char universal [] = "_Universal_Pass_ïŒ"; BOOL isOkPassword = FALSE; ErrorStatus status = IsCorrectPasswordïŒãŠãããŒãµã«ãisOkPasswordïŒ; ifïŒstatus == E_OK && isOkPasswordïŒ printfïŒ "\ nPasswordïŒOK \ n"ïŒ; ä»ã« printfïŒ "\ nPasswordïŒERROR \ n"ïŒ; 0ãè¿ããŸãã }
_tmainïŒïŒé¢æ°ã¯ãIsCorrectPasswordïŒïŒé¢æ°ãåŒã³åºããŸãã ãã¹ã¯ãŒããæ£ããå ŽåããŸãã¯ããžãã¯ã¯ãŒãã_Universal_Pass_ïŒããšäžèŽããå Žåãããã°ã©ã ã¯æååãPasswordïŒOKãã衚瀺ããŸãã æ»æã®ç®çã¯ãããã°ã©ã ããã®è¡ãæ£ç¢ºã«è¡šç€ºããããã«ããããšã§ãã
IsCorrectPasswordïŒïŒé¢æ°ã¯ããŠãŒã¶ãŒã«ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããèŠæ±ããŸãã ãã¹ã¯ãŒãã¯ãé¢æ°ã«æž¡ãããããžãã¯ã¯ãŒããšäžèŽããå Žåãæ£ãããšèŠãªãããŸãã ãã¹ã¯ãŒãã®æåã®æåãååã®æåã®æåãšäžèŽããå Žåãæ£ããã§ãã
æ£ãããã¹ã¯ãŒããå ¥åããããã©ããã«é¢ä¿ãªããããã°ã©ã ã¯ãŠãŒã¶ãŒãæè¿ããŸãã ãããè¡ãã«ã¯ãPrintNormalizedNameïŒïŒé¢æ°ãåŒã³åºãããŸãã
PrintNormalizedNameïŒïŒé¢æ°ã«ã¯ããã¹ãŠã®æ¥œãã¿ããããŸãã ãã®äžã«ã説æãããŠãããprintfïŒnameïŒ;ãããããŸãã ãã®è¡ã䜿çšããŠããã°ã©ã ãã ãŸãæ¹æ³ã«ã€ããŠèããŠãã ããã æ¹æ³ããããã°ãããã«èªãããšã¯ã§ããŸããã
PrintNormalizedNameïŒïŒé¢æ°ã¯äœãããŸããïŒ åœŒå¥³ã¯ååãå°å·ããæåã®æåã倧æåã«ããæ®ããå°ããããŠããŸãã ããšãã°ããandREy2008ããšããååãå ¥åãããšããAndrey2008ããšåºåãããŸãã
æåã®æ»æ
æ£ãããã¹ã¯ãŒããããããªããšããŸãã ããããã©ããç¹å®ã®éæ³ã®ãã¹ã¯ãŒããããããšãç¥ã£ãŠããŸãã printfïŒïŒã䜿çšããŠæ€çŽ¢ããŠã¿ãŸãããã ãã®ãã¹ã¯ãŒãã®ã¢ãã¬ã¹ãã¹ã¿ãã¯äžã®ã©ããã«ããå Žåãæåããå¯èœæ§ããããŸãã ãã®ãã¹ã¯ãŒããç»é¢ã«è¡šç€ºããæ¹æ³ã¯ãããŸããïŒ
ãã³ãããããŸãã printfïŒïŒé¢æ°ã¯ãå¯å€æ°ã®åŒæ°ãæã€é¢æ°ãã¡ããªãŒãåç §ããŸãã ãã®ãããªæ©èœã¯ãã®ããã«æ©èœããŸãã ä»»æã®éã®ããŒã¿ãã¹ã¿ãã¯ã«æžã蟌ãŸããŸãã printfïŒïŒé¢æ°ã¯ãã¹ã¿ãã¯ã«æžã蟌ãŸããããŒã¿ã®éãšãã®ã¿ã€ããç¥ããŸããã æžåŒæååã«ãã£ãŠã®ã¿ã¬ã€ããããŸãã ãïŒ dïŒ sããæžã蟌ãŸããŠããå Žåã¯ãintåã®1ã€ã®å€ãš1ã€ã®ãã€ã³ã¿ãŒãã¹ã¿ãã¯ããæœåºããå¿ èŠãããããšãæå³ããŸãã printfïŒïŒé¢æ°ã¯ãæž¡ãããåŒæ°ã®æ°ãç¥ããªããããã¹ã¿ãã¯ãããæ·±ãèŠã蟌ã¿ããããšã¯é¢ä¿ã®ãªãããŒã¿ãåºåã§ããŸãã ååãšããŠãããã¯ã¢ã¯ã»ã¹éåãŸãã¯ãŽãã®å°å·ã«ã€ãªãããŸã ã ãã ãããã®ãŽãã¯äœ¿çšã§ããŸãã
printfïŒïŒé¢æ°ãåŒã³åºããšãã¹ã¿ãã¯ãã©ã®ããã«èŠããããèããŠãã ããã
å³1.ã¹ã¿ãã¯äžã®ããŒã¿ã®æŠç¥ã¬ã€ã¢ãŠãã
é¢æ°åŒã³åºããprintfïŒnameïŒ;ãã«ã¯ãåŒæ°ã1ã€ã ããããŸããããã¯ãã©ãŒãããæååã§ãã ããã¯ãååã®ä»£ããã«ãïŒ dããå ¥åãããšãã¹ã¿ãã¯ã«ããããŒã¿ãPrintNormalizedNameïŒïŒé¢æ°ã®æ»ãã¢ãã¬ã¹ã«åºåããããšãæå³ããŸãã è©ŠããŠã¿ãŸãããïŒ
ååïŒïŒ d
ãã¹ã¯ãŒãïŒ1
ããã«ã¡ã¯37
ãã¹ã¯ãŒãïŒãšã©ãŒ
ãã®ã¢ã¯ã·ã§ã³ã¯ç¡æå³ã§ããã å°ãªããšããæåã«æ»ãã¢ãã¬ã¹ãšãã¹ã¿ãã¯ã«ãããæååãããã¡[MAX_NAME_LEN + 1];ã®å å®¹å šäœãåºåããå¿ èŠããããŸãã ãããŠãã®åŸããããããç§ãã¡ã¯äœãé¢çœããã®ã«å°éããŸãã
æ»æè ãããã°ã©ã ãéã¢ã»ã³ãã«ãŸãã¯ãããã°ããèœåãæã£ãŠããªãå Žåãã¹ã¿ãã¯äžã§äœããèŠã€ãããã©ãããç解ããããšã¯å°é£ã§ãã ãã ãã次ã®ããã«åäœããŸãã
æåã«ãïŒ sããšå ¥åããŸãã 次ã«ããïŒ xïŒ sããšå ¥åããŸãã 次ã«ãïŒ xïŒ xïŒ sããªã©ãå ¥åããŸãã ãã®ããã«ãŒã¯ãã¹ã¿ãã¯äžã§é çªã«ããŒã¿ãå埩åŠçããããããæååãšããŠåºåããããšããŸãã ããã§ã¯ãã¹ã¿ãã¯å ã®ãã¹ãŠã®ããŒã¿ããå°ãªããšã4ãã€ãã®å¢çã§æŽåãããŠããããšã圹ç«ã¡ãŸãã
æ£çŽã«èšããšããã®ããã«æ¯ãèããšãæåããŸããã æçšãªãã®ãäœãå°å·ããã«ã60æåã®å¶éãè¶ ããŸãã äºéã®å€ãå°å·ããããã®ãïŒ Fãã¯ãç§ãã¡ã®å©ãã«ãªããŸãã ãããã£ãŠããã®å©ããåããŠãããã«8ãã€ããã€ã¹ã¿ãã¯ã«æ²¿ã£ãŠç§»åã§ããŸãã
ãããŠãããã«åœŒå¥³ã¯ããŸã-åŸ æã®ã©ã€ã³ïŒ
ïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ xïŒïŒ sïŒ
çµæïŒ
å³2.ãã¹ã¯ãŒãã®å°å·ã ç»åãã¯ãªãã¯ããŠæ¡å€§ããŸãã
ãã®è¡ãéæ³ã®ãã¹ã¯ãŒããšããŠè©ŠããŠã¿ãŸãããã
ååïŒAaa
ãã¹ã¯ãŒãïŒ_Universal_Pass_ïŒ
ããã«ã¡ã¯ãAaa
ãã¹ã¯ãŒãïŒOK
ãã£ãïŒ ç§ãã¡ã¯å人ããŒã¿ãèŠã€ããŠè¡šç€ºããããšãã§ããŸããããããã°ã©ã ã¯ã¢ã¯ã»ã¹ãèš±å¯ããŸããã§ããã ããã«ããã®ããã«ã¯ããã€ããªããã°ã©ã ã³ãŒãèªäœã«ã¢ã¯ã»ã¹ããå¿ èŠããªãããšã«æ³šæããŠãã ããã ååãªç±æãšå¿èã
æåã®æ»æã«é¢ããçµè«
ãã©ã€ããŒãããŒã¿ãååŸããåæ§ã®æ¹æ³ãããåºãæ€èšããå¿ èŠããããŸãã å¯å€æ°ã®åŒæ°ãæã€é¢æ°ãå«ãããã°ã©ã ãéçºãããšãã¯ãããŒã¿ãããããä»ããŠå€éšã«æŒããå¯èœæ§ãããç¶æ³ããããã©ãããèæ ®ããŠãã ããã ããã«ã¯ããã°ãã¡ã€ã«ããããã¯ãŒã¯çµç±ã§éä¿¡ããããã±ãããªã©ããããŸãã
èæ ®ãããã±ãŒã¹ã§ã¯ãprintfïŒïŒé¢æ°ã®å ¥åãå¶åŸ¡ã³ãã³ããå«ãå¯èœæ§ã®ããæååãåãåããšããäºå®ã«ãããæ»æãå¯èœã«ãªããŸããã ãããåé¿ããã«ã¯ã次ã®ããã«èšè¿°ããã ãã§ååã§ãã
printfïŒ "ïŒ s"ãååïŒ;
äºåºŠç®ã®æ»æ
printfïŒïŒãã¡ã¢ãªãå€æŽã§ããããšãç¥ã£ãŠããŸããïŒ ãããããããªãã¯ããã«ã€ããŠèªã¿ãŸããããå¿ããŠããŸããã ããã¯ä¿®é£ŸåãïŒ nãã§ãã ããã«ãããæå®ããã¢ãã¬ã¹ã«printfïŒïŒé¢æ°ããã§ã«å°å·ããæåæ°ãæžã蟌ãããšãã§ããŸãã
æ£çŽãªãšãããïŒ næå®åã«åºã¥ãæ»æã¯çŽç²ã«æŽå²çãªãã®ã§ãã Visual Studio 2005以éã§ã¯ããïŒ nãã䜿çšãããªãã·ã§ã³ã¯ããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸãã ãã®æ»æãè¡ãã«ã¯ããã®ä¿®é£Ÿåãæ瀺çã«æå¹ã«ããå¿ èŠããããŸããã éæ³ã®ã¢ã¯ã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
_set_printf_count_outputïŒ1ïŒ;
ããæ確ã«ããããã«ããïŒ nãã®äœ¿çšäŸã瀺ããŸãã
int i; printfïŒ "12345ïŒ n6789 \ n"ãïŒiïŒ; printfïŒ "i =ïŒ d \ n"ãiïŒ;
ããã°ã©ã åºåïŒ
123456789
i = 5
ã¹ã¿ãã¯äžã®ç®çã®ãã€ã³ã¿ãŒã«å°éããæ¹æ³ã¯æ¢ã«åŠã³ãŸããã ãããŠä»ããã®ãã€ã³ã¿ã«ãã£ãŠã¡ã¢ãªãå€æŽã§ããããŒã«ãæã«ããŠããŸãã
ãã¡ãããããã䜿çšããã®ã¯äžäŸ¿ã§ãã ãŸããäžåºŠã«æžã蟌ãããšãã§ããã®ã¯4ãã€ãã®ã¿ã§ãïŒintåã®ãµã€ãºïŒã 倧ããªæ°åãå¿ èŠãªå Žåã¯ããŸãprintfïŒïŒé¢æ°ã§å€ãã®æåãå°å·ããå¿ èŠããããŸãã ãããåé¿ããã«ã¯ãïŒ 00uæå®åã圹ç«ã¡ãŸãã æå®åã¯ãåºåãããçŸåšã®ãã€ãæ°ã®å€ã«åœ±é¿ããŸãã 詳现ã¯èª¬æããŸããã
ç§ãã¡ã®å Žåããã¹ãŠãããã·ã³ãã«ã§ãã isOkPasswordå€æ°ã«0以å€ã®å€ãæžã蟌ãã ãã§ååã§ãããã®å€æ°ã®ã¢ãã¬ã¹ã¯IsCorrectPasswordïŒïŒé¢æ°ã«æž¡ãããŸããã€ãŸããã¹ã¿ãã¯äžã®ã©ããã«ãããšããããšã§ãã å€æ°ãåç §ãšããŠæž¡ããããšæ··åããªãã§ãã ããã äœã¬ãã«ã§ã¯ããªã³ã¯ã¯éåžžã®ãã€ã³ã¿ãŒã§ãã
IsCorrectPasswordå€æ°ãå€æŽã§ããããã«ããè¡ã¯æ¬¡ã®ãšããã§ãã
ïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ fïŒ n
修食å "ïŒ n"ã¯ã "ïŒ f"ãªã©ã®ä¿®é£Ÿåã䜿çšããŠåºåãããæåæ°ãèæ ®ããŸããã ãããã£ãŠããïŒ nãã®åã«ã¹ããŒã¹ã1ã€å ¥ããŠãå€1ãisOkPasswordã«æžã蟌ã¿ãŸãã
ç§éã¯è©Šã¿ãŸãïŒ
å³3.ã¡ã¢ãªãžã®æžã蟌ã¿ã ç»åãã¯ãªãã¯ããŠæ¡å€§ããŸãã
å°è±¡çïŒ ããããããã¯ãã¹ãŠãšã¯çšé ãã ã»ãšãã©ä»»æã®ã¢ãã¬ã¹ã§é²é³ã§ããŸãã åºåè¡ãã¹ã¿ãã¯äžã«ããå Žåãç®çã®æåã«ç§»åããŠã¢ãã¬ã¹ãšããŠäœ¿çšã§ããŸãã
ããšãã°ããxF8ãããx32ãããx01ãããx7Fãã®ã³ãŒãã§é£ç¶ããæåãå«ãè¡ãæžãããšãã§ããŸãã æååã«ããŒãã³ãŒããããæ°å€ããããããã¯å€0x7F0132F8ãšåçã§ããããšãããããŸãã æåŸã«ã修食å "ïŒ n"ãé 眮ããŸãã ãïŒ xããŸãã¯ä»ã®ä¿®é£Ÿåã䜿çšããŠããšã³ã³ãŒããããæ°å€0x7F0132F8ã«å°éãããã®ã¢ãã¬ã¹ã«å°å·ãããæåæ°ãæžã蟌ãããšãã§ããŸãã ãã®æ¹æ³ã«ã¯å¶éããããŸãããããã§ãéåžžã«èå³ããããŸãã
2çªç®ã®æ»æã«é¢ããçµè«
第äºçš®ã®æ»æã¯ä»ã§ã¯ã»ãšãã©äžå¯èœã ãšèšããŸãã ã芧ã®ãšãããææ°ã®ã©ã€ãã©ãªã§ã®ãïŒ nãæå®åã®ãµããŒãã¯ããã©ã«ãã§ãªãã«ãªã£ãŠããŸãã ãã ãããã®ã¿ã€ãã®è匱æ§ã®çŽ å ãšãªãç¬èªã®èªå®¶è£œã¡ã«ããºã ãäœæã§ããŸãã å€éšããå ¥åãããããŒã¿ãã¡ã¢ãªã«äœãã©ãã«æžã蟌ãããå¶åŸ¡ããå Žåã¯æ³šæããŠãã ããã
å ·äœçã«ã¯ããã®å Žåã次ã®ããã«èšè¿°ããã°ãåé¡ã¯åã³çºçããŸããã
printfïŒ "ïŒ s"ãååïŒ;
äžè¬çãªçµè«
ããã§ã¯ãè匱æ§ã®2ã€ã®åçŽãªäŸãæ€èšããŸãã ãã¡ããããã£ãšãããããããŸãã ããã§ã¯ããããã説æããããå°ãªããšããªã¹ããããããè©Šã¿ã¯è¡ããŸããã ãã®èšäºã¯ãprintfïŒååïŒã®ãããªåçŽãªæ§é ã§ããå±éºãªå Žåãããããšã瀺ãããšãèšç»ããŠããŸããã
ããããéèŠãªçµè«ãåŸãããŸãã ã»ãã¥ãªãã£ã®å°é家ã§ãªãå Žåã¯ã圌ããæžããŠãããã¹ãŠã®æšå¥šäºé ã«åŸãããšãæåã§ãã æšå¥šäºé ã®æ¬è³ªã¯ããã¹ãŠã®è åšãåç¬ã§è©äŸ¡ããã«ã¯èãããŸãã çµå±ã®ãšãããããããprintfïŒïŒã¯å±éºãªé¢æ°ã ãšããããšãèªãã§ããã§ãããã ããããç§ã¯ãã®èšäºãèªãã å€ãã®äººãæåã«ãŠãµã®ã®ç©Žã®æ·±ãã«ã€ããŠåŠãã ãšç¢ºä¿¡ããŠããŸãã
æœåšçã«æ»æã®æšçãšãªãå¯èœæ§ã®ããã¢ããªã±ãŒã·ã§ã³ãäœæããŠããå Žåã¯ãéåžžã«æ³šæããŠãã ããã å®å šã«ç¡å®³ãªã³ãŒãã ãšæããã®ã«ã¯ãè匱æ§ãå«ãŸããŠããå¯èœæ§ããããŸãã ã³ãŒãã«ãã£ããã衚瀺ãããªãå Žåã§ãããã£ãããããŠããããã§ã¯ãããŸããã
æååé¢æ°ã®æŽæ°ããŒãžã§ã³ã䜿çšããããã®ãã¹ãŠã®ã³ã³ãã€ã©ã¬ã€ãã©ã€ã³ã«åŸã£ãŠãã ããã ããã¯ãsprintfãªã©ã®ä»£ããã«sprintf_sã䜿çšããããšãæå³ããŸãã
ããã«è¯ãããš-äžè¬ã«ãæååã§ã®äœã¬ãã«ã®äœæ¥ãæåŠããŸãã ãããã®é¢æ°ã¯Cèšèªã®éºç£ã§ãã çŸåšãstd :: stringããããŸãã boost :: formatãstd :: stringstreamãªã©ãæååã圢æããå®å šãªæ¹æ³ããããŸãã
PSçµè«ãèªãã 誰ããèšã£ã-ãããã¯ãã§ã«æããã ã£ããã ããããæ£çŽã«èšã£ãŠãã ããã ãã®èšäºãèªãåã«ãprintfïŒïŒãã¡ã¢ãªã«æžã蟌ãããšãã§ããããšãç¥ã£ãŠããŸãããïŒ ããããããã¯å€§ããªè匱æ§ã§ãã å°ãªããšã以åã¯ããã§ããã ä»ãä»ã®äººãããŸãããããã¯å£ããsidãªãã®ã§ãã