鍦ㄥ皢鍚勭綾誨瀷鐨勬暟鎹瀯閫犳垚瀛楃涓叉椂錛宻printf 鐨勫己澶у姛鑳藉緢灝戜細(xì)璁╀綘澶辨湜銆傜敱浜巗printf 璺焢rintf 鍦ㄧ敤娉曚笂鍑犱箮涓鏍鳳紝鍙槸鎵撳嵃鐨勭洰鐨勫湴涓嶅悓鑰屽凡錛屽墠鑰呮墦鍗板埌瀛楃涓蹭腑錛屽悗鑰呭垯鐩存帴鍦ㄥ懡浠よ涓婅緭鍑恒傝繖涔熷鑷磗printf 姣攑rintf 鏈夌敤寰楀銆?br /> 銆銆sprintf 鏄釜鍙樺弬鍑芥暟錛屽畾涔夊涓嬶細(xì)
銆銆int sprintf( char *buffer, const char *format [, argument] ... );
銆銆闄や簡(jiǎn)鍓嶄袱涓弬鏁扮被鍨嬪浐瀹氬錛屽悗闈㈠彲浠ユ帴浠繪剰澶氫釜鍙傛暟銆傝屽畠鐨勭簿鍗庯紝鏄劇劧灝卞湪絎簩涓弬鏁幫細(xì)
銆銆(1)鏍煎紡鍖栧瓧絎︿覆涓娿?/span>
銆銆printf 鍜宻printf 閮戒嬌鐢ㄦ牸寮忓寲瀛楃涓叉潵鎸囧畾涓茬殑鏍煎紡錛屽湪鏍煎紡涓插唴閮ㄤ嬌鐢ㄤ竴浜涗互“%”寮澶寸殑鏍煎紡璇存槑絎︼紙format specifications錛夋潵鍗犳嵁涓涓綅緗紝鍦ㄥ悗杈圭殑鍙樺弬鍒楄〃涓彁渚涚浉搴旂殑鍙橀噺錛屾渶緇堝嚱鏁板氨浼?xì)鐢ㄧ浉搴斾綅缃殑鍙橀噺鏉ユ浛浠i偅涓鏄幗W︼紝浜х敓涓涓皟鐢ㄨ呮兂瑕?鐨勫瓧絎︿覆銆?br /> 銆銆鏍煎紡鍖栨暟瀛楀瓧絎︿覆
銆銆sprintf 鏈甯歌鐨勫簲鐢ㄤ箣涓鑾繃浜庢妸鏁存暟鎵撳嵃鍒板瓧絎︿覆涓紝鎵浠ワ紝spritnf 鍦ㄥぇ澶氭暟鍦哄悎鍙互鏇夸唬itoa銆?br /> 銆銆濡傦細(xì)
銆銆//鎶婃暣鏁?23 鎵撳嵃鎴愪竴涓瓧絎︿覆淇濆瓨鍦╯ 涓?br /> 銆銆sprintf(s, "%d", 123); //浜х敓"123"
銆銆鍙互鎸囧畾瀹藉害錛屼笉瓚崇殑宸﹁竟琛ョ┖鏍鹼細(xì)
銆銆sprintf(s, "%8d%8d", 123, 4567); //浜х敓錛? 123 4567"
銆銆褰撶劧涔熷彲浠ュ乏瀵歸綈錛?br /> 銆銆sprintf(s, "%-8d%8d", 123, 4567); //浜х敓錛?123 4567"
銆銆涔熷彲浠ユ寜鐓?6 榪涘埗鎵撳嵃錛?br /> 銆銆sprintf(s, "%8x", 4567); //灝忓啓16 榪涘埗錛屽搴﹀崰8 涓綅緗紝鍙沖榻?br /> 銆銆sprintf(s, "%-8X", 4568); //澶у啓16 榪涘埗錛屽搴﹀崰8 涓綅緗紝宸﹀榻?br /> 銆銆榪欐牱錛屼竴涓暣鏁扮殑16 榪涘埗瀛楃涓插氨寰堝鏄撳緱鍒幫紝浣嗘垜浠湪鎵撳嵃16 榪涘埗鍐呭鏃訛紝閫氬父鎯寵涓縐嶅乏杈硅ˉ0 鐨勭瓑瀹芥牸寮忥紝閭h鎬庝箞鍋氬憿錛熷緢綆鍗曪紝鍦ㄨ〃紺哄搴︾殑鏁板瓧鍓嶉潰鍔犱釜0 灝卞彲浠ヤ簡(jiǎn)銆?br /> 銆銆sprintf(s, "%08X", 4567); //浜х敓錛?000011D7"
銆銆涓婇潰浠?#8221;%d”榪涜鐨?0 榪涘埗鎵撳嵃鍚屾牱涔熷彲浠ヤ嬌鐢ㄨ繖縐嶅乏杈硅ˉ0 鐨勬柟寮忋?br /> 銆銆榪欓噷瑕佹敞鎰忎竴涓鍙鋒墿灞曠殑闂錛氭瘮濡傦紝鍋囧鎴戜滑鎯蟲墦鍗扮煭鏁存暟錛坰hort錛?1 鐨勫唴瀛?6 榪涘埗琛ㄧず褰㈠紡錛屽湪Win32 騫沖彴涓婏紝涓涓猻hort 鍨嬪崰2 涓瓧鑺傦紝鎵浠ユ垜浠嚜鐒跺笇鏈涚敤4 涓?6 榪涘埗鏁板瓧鏉ユ墦鍗板畠錛?br /> 銆銆short si = -1;
銆銆sprintf(s, "%04X", si);
銆銆浜х敓“FFFFFFFF”錛屾庝箞鍥炰簨錛熷洜涓簊pritnf 鏄釜鍙樺弬鍑芥暟錛岄櫎浜?jiǎn)鍓嶉潰涓や釜鍙傛曨C箣澶栵紝鍚庨潰鐨勫弬鏁伴兘涓嶆槸綾誨瀷瀹夊叏鐨勶紝鍑芥暟鏇存病鏈夊姙娉曚粎浠呴氳繃涓涓?#8220;%X”灝辮兘寰楃煡褰撳垵鍑芥暟璋冪敤鍓嶅弬鏁板帇鏍堟椂琚帇榪涙潵鐨勫埌搴?鏄釜4 瀛楄妭鐨勬暣鏁拌繕鏄釜2 瀛楄妭鐨勭煭鏁存暟錛屾墍浠ラ噰鍙栦簡(jiǎn)緇熶竴4 瀛楄妭鐨勫鐞嗘柟寮忥紝瀵艱嚧鍙傛暟鍘嬫爤鏃跺仛浜?jiǎn)绗﹀忎h墿灞曪紝鎵╁睍鎴愪簡(jiǎn)32 浣嶇殑鏁存暟-1錛屾墦鍗版椂4 涓綅緗笉澶熶簡(jiǎn)錛屽氨鎶?2 浣嶆暣鏁?1 鐨? 浣?6 榪涘埗閮芥墦鍗板嚭鏉ヤ簡(jiǎn)銆?br /> 銆銆濡傛灉浣犳兂鐪媠i 鐨勬湰鏉ラ潰鐩紝閭d箞灝卞簲璇ヨ緙栬瘧鍣ㄥ仛0 鎵╁睍鑰屼笉鏄鍙鋒墿灞曪紙鎵╁睍鏃朵簩榪涘埗宸﹁竟琛? 鑰屼笉鏄ˉ絎﹀彿浣嶏級(jí)錛?br /> 銆銆sprintf(s, "%04X", (unsigned short)si);
銆銆灝卞彲浠ヤ簡(jiǎn)銆傛垨鑰咃細(xì)
銆銆unsigned short si = -1;
銆銆sprintf(s, "%04X", si);
銆銆sprintf 鍜宲rintf 榪樺彲浠ユ寜8 榪涘埗鎵撳嵃鏁存暟瀛楃涓詫紝浣跨敤”%o”銆傛敞鎰? 榪涘埗鍜?6 榪涘埗閮戒笉浼?xì)鎵?br /> 銆銆鍗板嚭璐熸暟錛岄兘鏄棤絎﹀彿鐨勶紝瀹為檯涓婁篃灝辨槸鍙橀噺鐨勫唴閮ㄧ紪鐮佺殑鐩存帴鐨?6 榪涘埗鎴? 榪涘埗琛ㄧず銆?br /> 銆銆鎺у埗嫻偣鏁版墦鍗版牸寮?br /> 銆銆嫻偣鏁扮殑鎵撳嵃鍜屾牸寮忔帶鍒舵槸sprintf 鐨勫張涓澶у父鐢ㄥ姛鑳斤紝嫻偣鏁頒嬌鐢ㄦ牸寮忕”%f”鎺у埗錛岄粯璁や繚
銆銆鐣欏皬鏁扮偣鍚? 浣嶆暟瀛楋紝姣斿錛?br /> 銆銆sprintf(s, "%f", 3.1415926); //浜х敓"3.141593"
銆銆浣嗘湁鏃舵垜浠笇鏈涜嚜宸辨帶鍒舵墦鍗扮殑瀹藉害鍜屽皬鏁頒綅鏁幫紝榪欐椂灝卞簲璇ヤ嬌鐢細(xì)”%m.nf”鏍煎紡錛屽叾涓璵 琛?br /> 銆銆紺烘墦鍗扮殑瀹藉害錛宯 琛ㄧず灝忔暟鐐瑰悗鐨勪綅鏁般傛瘮濡傦細(xì)
銆銆sprintf(s, "%10.3f", 3.1415626); //浜х敓錛? 3.142"
銆銆sprintf(s, "%-10.3f", 3.1415626); //浜х敓錛?3.142 "
銆銆sprintf(s, "%.3f", 3.1415626); //涓嶆寚瀹氭誨搴︼紝浜х敓錛?3.142"
銆銆娉ㄦ剰涓涓棶棰橈紝浣犵寽
銆銆int i = 100;
銆銆sprintf(s, "%.2f", i);
銆銆浼?xì)鎵撳囖Z粈涔堜笢涓滄潵錛?#8220;100.00”錛熷鍚楋紵鑷繁璇曡瘯灝辯煡閬撲簡(jiǎn)錛屽悓鏃朵篃璇曡瘯涓嬮潰榪欎釜錛?br /> 銆銆sprintf(s, "%.2f", (double)i);
銆銆絎竴涓墦鍑烘潵鐨勮偗瀹氫笉鏄紜粨鏋滐紝鍘熷洜璺熷墠闈㈡彁鍒扮殑涓鏍鳳紝鍙傛暟鍘嬫爤鏃惰皟鐢ㄨ呭茍涓嶇煡閬撹窡i鐩稿搴旂殑鏍煎紡鎺у埗絎︽槸涓?#8221;%f”銆傝屽嚱鏁版墽琛屾椂鍑芥暟鏈韓鍒欏茍涓?鐭ラ亾褰撳勾琚帇鍏ユ爤閲岀殑鏄釜鏁存暟錛屼簬鏄彲鎬滅殑淇濆瓨鏁存暟i 鐨勯偅4 涓瓧鑺傚氨琚笉鐢卞垎璇村湴寮鴻浣滀負(fù)嫻偣鏁版牸寮忔潵瑙i噴浜?jiǎn)锛屾暣涓贡濂椾簡(jiǎn)銆備笉榪囷紝濡傛灉鏈変漢鏈夊叴瓚d嬌鐢ㄦ墜宸ョ紪鐮佷竴涓誕鐐規(guī)暟錛岄偅涔堝掑彲浠ヤ嬌鐢ㄨ繖縐嶆柟娉曟潵媯(gè)楠屼竴涓嬩綘鎵嬪伐緙?鎺掔殑緇撴灉鏄惁姝g‘銆?br /> 銆銆
(2)瀛楃/Ascii 鐮佸鐓?/span>
銆銆鎴戜滑鐭ラ亾錛屽湪C/C++璇█涓紝char 涔熸槸涓縐嶆櫘閫氱殑scalable 綾誨瀷錛岄櫎浜?jiǎn)瀛楅暱涔嬪锛屽畠涓巗hort錛?br /> 銆銆int錛宭ong 榪欎簺綾誨瀷娌℃湁鏈川鍖哄埆錛屽彧涓嶈繃琚ぇ瀹朵範(fàn)鎯敤鏉ヨ〃紺哄瓧絎﹀拰瀛楃涓茶屽凡銆傦紙鎴栬褰撳勾璇ユ妸
銆銆榪欎釜綾誨瀷鍙仛“byte”錛岀劧鍚庣幇鍦ㄥ氨鍙互鏍規(guī)嵁瀹為檯鎯呭喌錛屼嬌鐢╞yte 鎴杝hort 鏉ユ妸char 閫氳繃typedef 瀹氫箟鍑烘潵錛岃繖鏍鋒洿鍚堥備簺錛変簬鏄紝浣跨敤”%d”鎴栬?#8221;%x”鎵撳嵃涓涓瓧絎︼紝渚胯兘寰楀嚭瀹冪殑10 榪涘埗鎴?6 榪涘埗鐨凙SCII 鐮侊紱鍙嶈繃鏉ワ紝浣跨敤”%c”鎵撳嵃涓涓暣鏁幫紝渚垮彲浠ョ湅鍒板畠鎵瀵瑰簲鐨凙SCII 瀛楃銆備互涓嬬▼搴忔鎶婃墍鏈夊彲瑙佸瓧絎︾殑ASCII 鐮佸鐓ц〃鎵撳嵃鍒板睆騫曚笂錛堣繖閲岄噰鐢╬rintf錛屾敞鎰?#8221;#”涓?#8221;%X”鍚堢敤鏃惰嚜鍔ㄤ負(fù)16 榪涘埗鏁板鍔?#8221;0X”鍓嶇紑錛夛細(xì)
銆銆for(int i = 32; i < 127; i++) {
銆銆printf("[ %c ]: %3d 0x%#04X/n", i, i, i);
銆銆}
銆銆(3)榪炴帴瀛楃涓?/span>
銆銆sprintf 鐨勬牸寮忔帶鍒朵覆涓棦鐒跺彲浠ユ彃鍏ュ悇縐嶄笢瑗匡紝騫舵渶緇堟妸瀹冧滑“榪炴垚涓涓?#8221;錛岃嚜鐒朵篃灝辮兘澶熻繛
銆銆鎺ュ瓧絎︿覆錛屼粠鑰屽湪璁稿鍦哄悎鍙互鏇夸唬strcat錛屼絾sprintf 鑳藉涓嬈¤繛鎺ュ涓瓧絎︿覆錛堣嚜鐒朵篃鍙互鍚屾椂
銆銆鍦ㄥ畠浠腑闂存彃鍏ュ埆鐨勫唴瀹癸紝鎬諱箣闈炲父鐏墊椿錛夈傛瘮濡傦細(xì)
銆銆char* who = "I";
銆銆char* whom = "CSDN";
銆銆sprintf(s, "%s love %s.", who, whom); //浜х敓錛?I love CSDN. "
銆銆strcat 鍙兘榪炴帴瀛楃涓詫紙涓孌典互’’緇撳熬鐨勫瓧絎︽暟緇勬垨鍙仛瀛楃緙撳啿錛宯ull-terminated-string錛夛紝浣嗘湁鏃舵垜浠湁涓ゆ瀛楃緙撳啿鍖猴紝浠栦滑騫朵笉鏄互 ’’緇撳熬銆傛瘮濡傝澶氫粠絎笁鏂瑰簱鍑芥暟涓繑鍥炵殑瀛楃鏁扮粍錛屼粠紜歡鎴栬呯綉緇滀紶杈撲腑璇昏繘鏉ョ殑瀛楃嫻侊紝瀹冧滑鏈繀姣忎竴孌靛瓧絎﹀簭鍒楀悗闈㈤兘鏈変釜鐩稿簲鐨?#8217;’鏉ョ粨灝俱傚鏋滅洿鎺?榪炴帴錛屼笉綆℃槸sprintf 榪樻槸strcat 鑲畾浼?xì)瀵艰嚧闈炴硶鍐呭瓨鎿嶄綔锛岃宻trncat 涔熻嚦灝戣姹傜涓涓弬鏁版槸涓猲ull-terminated-string錛岄偅璇ユ庝箞鍔炲憿錛熸垜浠嚜鐒朵細(xì)鎯寵搗鍓嶉潰浠嬬粛鎵撳嵃鏁存暟鍜屾誕鐐規(guī)暟鏃跺彲浠ユ寚瀹氬搴︼紝瀛楃涓?涔熶竴鏍風(fēng)殑銆傛瘮濡傦細(xì)
銆銆char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
銆銆char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
銆銆濡傛灉錛?br /> 銆銆sprintf(s, "%s%s", a1, a2); //Don't do that!
銆銆鍗佹湁鍏節(jié)瑕佸嚭闂浜?jiǎn)銆傛槸鍚﹀彲浠ユ敼鎴愶細(xì)
銆銆sprintf(s, "%7s%7s", a1, a2);
銆銆涔熸病濂藉埌鍝効鍘伙紝姝g‘鐨勫簲璇ユ槸錛?br /> 銆銆sprintf(s, "%.7s%.7s", a1, a2);//浜х敓錛?ABCDEFGHIJKLMN"
銆銆榪欏彲浠ョ被姣旀墦鍗版誕鐐規(guī)暟鐨?#8221;%m.nf”錛屽湪”%m.ns”涓紝m 琛ㄧず鍗犵敤瀹藉害錛堝瓧絎︿覆闀垮害涓嶈凍鏃惰ˉ絀烘牸錛岃秴鍑轟簡(jiǎn)鍒欐寜鐓у疄闄呭搴︽墦鍗幫級(jí)錛宯 鎵嶈〃紺轟粠鐩稿簲鐨勫瓧絎︿覆涓渶澶氬彇鐢ㄧ殑瀛楃鏁般傞氬父鍦ㄦ墦鍗板瓧絎︿覆鏃秏 娌′粈涔堝ぇ鐢紝榪樻槸鐐瑰彿鍚庨潰鐨刵 鐢ㄧ殑澶氥傝嚜鐒?dòng)灱屼篃鍙互鍓嶅悗閮藉彧鍙栭儴鍒嗗瓧绗﹀Q?br /> 銆銆sprintf(s, "%.6s%.5s", a1, a2);//浜х敓錛?ABCDEFHIJKL"
銆銆鍦ㄨ澶氭椂鍊欙紝鎴戜滑鎴栬榪樺笇鏈涜繖浜涙牸寮忔帶鍒剁涓敤浠ユ寚瀹氶暱搴︿俊鎭殑鏁板瓧鏄姩鎬佺殑錛岃屼笉鏄潤(rùn)鎬佹寚瀹氱殑錛屽洜涓鴻澶氭椂鍊欙紝紼嬪簭瑕佸埌榪愯鏃舵墠浼?xì)娓呮鍒板簳闇瑕佸彇瀛?絎︽暟緇勪腑鐨勫嚑涓瓧絎︼紝榪欑鍔ㄦ佺殑瀹藉害/綺懼害璁劇疆鍔熻兘鍦╯printf 鐨勫疄鐜頒腑涔熻鑰冭檻鍒頒簡(jiǎn)錛宻printf 閲囩敤”*”鏉ュ崰鐢ㄤ竴涓湰鏉ラ渶瑕佷竴涓寚瀹氬搴︽垨綺懼害鐨勫父鏁版暟瀛楃殑浣嶇疆錛屽悓鏍鳳紝鑰屽疄闄呯殑瀹藉害鎴栫簿搴﹀氨鍙互鍜屽叾瀹冭鎵撳嵃鐨勫彉閲忎竴鏍瘋鎻愪緵鍑烘潵錛屼簬鏄紝涓婇潰鐨勪緥瀛?鍙互鍙樻垚錛?br /> 銆銆sprintf(s, "%.*s%.*s", 7, a1, 7, a2);
銆銆鎴栬咃細(xì)
銆銆sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
銆銆瀹為檯涓婏紝鍓嶉潰浠嬬粛鐨勬墦鍗板瓧絎︺佹暣鏁般佹誕鐐規(guī)暟絳夐兘鍙互鍔ㄦ佹寚瀹氶偅浜涘父閲忓鹼紝姣斿錛?br /> 銆銆sprintf(s, "%-*d", 4, 'A'); //浜х敓"65 "
銆銆sprintf(s, "%#0*X", 8, 128); //浜х敓"0X000080"錛?#"浜х敓0X
銆銆sprintf(s, "%*.*f", 10, 2, 3.1415926); //浜х敓" 3.14"
銆銆(4)鎵撳嵃鍦板潃淇℃伅
銆銆鏈夋椂璋冭瘯紼嬪簭鏃訛紝鎴戜滑鍙兘鎯蟲煡鐪嬫煇浜涘彉閲忔垨鑰呮垚鍛樼殑鍦板潃錛岀敱浜庡湴鍧鎴栬呮寚閽堜篃涓嶈繃鏄釜32 浣嶇殑鏁幫紝浣犲畬鍏ㄥ彲浠ヤ嬌鐢ㄦ墦鍗版棤絎﹀彿鏁存暟鐨?#8221;%u”鎶婁粬浠墦鍗板嚭鏉ワ細(xì)
銆銆sprintf(s, "%u", &i);
銆銆涓嶈繃閫氬父浜轟滑榪樻槸鍠滄浣跨敤16 榪涘埗鑰屼笉鏄?0 榪涘埗鏉ユ樉紺轟竴涓湴鍧錛?br /> 銆銆sprintf(s, "%08X", &i);
銆銆鐒惰岋紝榪欎簺閮芥槸闂存帴鐨勬柟娉曪紝瀵逛簬鍦板潃鎵撳嵃錛宻printf 鎻愪緵浜?jiǎn)涓撻棬鐨?#8221;%p”錛?br /> 銆銆sprintf(s, "%p", &i);
銆銆鎴戣寰楀畠瀹為檯涓婂氨鐩稿綋浜庯細(xì)
銆銆sprintf(s, "%0*x", 2 * sizeof(void *), &i);
銆銆(5)鍒╃敤sprintf 鐨勮繑鍥炲?/span>
銆銆杈冨皯鏈変漢娉ㄦ剰printf/sprintf 鍑芥暟鐨勮繑鍥炲鹼紝浣嗘湁鏃跺畠鍗存槸鏈夌敤鐨勶紝spritnf 榪斿洖浜?jiǎn)鏈瑡啤鍑芥暟璋冪?br /> 銆銆鏈緇堟墦鍗板埌瀛楃緙撳啿鍖轟腑鐨勫瓧絎︽暟鐩備篃灝辨槸璇存瘡褰撲竴嬈prinf 璋冪敤緇撴潫浠ュ悗錛屼綘鏃犻』鍐嶈皟鐢ㄤ竴嬈?br /> 銆銆strlen 渚垮凡緇忕煡閬撲簡(jiǎn)緇撴灉瀛楃涓茬殑闀垮害銆傚錛?br /> 銆銆int len = sprintf(s, "%d", i);
銆銆瀵逛簬姝f暣鏁版潵璇達(dá)紝len 渚跨瓑浜庢暣鏁癷 鐨?0 榪涘埗浣嶆暟銆?br /> 銆銆涓嬮潰鐨勬槸涓畬鏁寸殑渚嬪瓙錛屼駭鐢?0 涓猍0, 100)涔嬮棿鐨勯殢鏈烘暟錛屽茍灝嗕粬浠墦鍗板埌涓涓瓧絎︽暟緇剆 涓紝
銆銆浠ラ楀彿鍒嗛殧寮銆?br /> 銆銆#include
銆銆#include
銆銆#include
銆銆int main() {
銆銆srand(time(0));
銆銆char s[64];
銆銆int offset = 0;
銆銆for(int i = 0; i < 10; i++) {
銆銆offset += sprintf(s + offset, "%d,", rand() % 100);
銆銆}
銆銆s[offset - 1] = '/n';//灝嗘渶鍚庝竴涓楀彿鎹㈡垚鎹㈣絎︺?br /> 銆銆printf(s);
銆銆return 0;
銆銆}
銆銆璁炬兂褰撲綘浠庢暟鎹簱涓彇鍑轟竴鏉¤褰曪紝鐒跺悗甯屾湜鎶婁粬浠殑鍚勪釜瀛楁鎸夌収鏌愮瑙勫垯榪炴帴鎴愪竴涓瓧
銆銆絎︿覆鏃訛紝灝卞彲浠ヤ嬌鐢ㄨ繖縐嶆柟娉曪紝浠庣悊璁轟笂璁詫紝浠栧簲璇ユ瘮涓嶆柇鐨剆trcat 鏁堢巼楂橈紝鍥犱負(fù)strcat 姣忔璋冪敤
銆銆閮介渶瑕佸厛鎵懼埌鏈鍚庣殑閭d釜’’鐨勪綅緗紝鑰屽湪涓婇潰緇欏嚭鐨勪緥瀛愪腑錛屾垜浠瘡嬈¢兘鍒╃敤sprintf 榪斿洖鍊兼妸榪?br /> 銆銆涓綅緗洿鎺ヨ涓嬫潵浜?jiǎn)銆?br /> 銆銆浣跨敤sprintf 鐨勫父瑙侀棶棰?br /> 銆銆sprintf 鏄釜鍙樺弬鍑芥暟錛屼嬌鐢ㄦ椂緇忓父鍑洪棶棰橈紝鑰屼笖鍙鍑洪棶棰橀氬父灝辨槸鑳藉鑷寸▼搴忓穿婧冪殑鍐呭瓨璁?br /> 銆銆闂敊璇紝浣嗗ソ鍦ㄧ敱sprintf 璇敤瀵艱嚧鐨勯棶棰樿櫧鐒朵弗閲嶏紝鍗村緢瀹規(guī)槗鎵懼嚭錛屾棤闈炲氨鏄偅涔堝嚑縐嶆儏鍐碉紝閫?br /> 銆銆甯哥敤鐪肩潧鍐嶆妸鍑洪敊鐨勪唬鐮佸鐪嬪嚑鐪煎氨鐪嬪嚭鏉ヤ簡(jiǎn)銆?br /> 銆銆?? 緙撳啿鍖烘孩鍑?br /> 銆銆絎竴涓弬鏁扮殑闀垮害澶煭浜?jiǎn)锛屾病鐨勮_(dá)紝緇欎釜澶х偣鐨勫湴鏂瑰惂銆傚綋鐒朵篃鍙兘鏄悗闈㈢殑鍙傛暟鐨勯棶
銆銆棰橈紝寤鴻鍙樺弬瀵瑰簲涓瀹氳緇嗗績(jī)錛岃屾墦鍗板瓧絎︿覆鏃訛紝灝介噺浣跨敤”%.ns”鐨勫艦寮忔寚瀹氭渶澶у瓧絎︽暟銆?br /> 銆銆?? 蹇樿浜?jiǎn)绗竴涓弬鏁?br /> 銆銆浣庣駭寰椾笉鑳藉啀浣庣駭闂錛岀敤printf 鐢ㄥ緱澶儻浜?jiǎn)銆?/鍋跺氨甯哥姱銆傦細(xì)銆傦紙
銆銆?? 鍙樺弬瀵瑰簲鍑洪棶棰?br /> 銆銆閫氬父鏄繕璁頒簡(jiǎn)鎻愪緵瀵瑰簲鏌愪釜鏍煎紡絎︾殑鍙樺弬錛屽鑷翠互鍚庣殑鍙傛暟緇熺粺閿欎綅錛屾鏌ユ鏌ュ惂銆傚挨
銆銆鍏舵槸瀵瑰簲”*”鐨勯偅浜涘弬鏁幫紝閮芥彁渚涗簡(jiǎn)鍚楋紵涓嶈鎶婁竴涓暣鏁板搴斾竴涓?#8221;%s”錛岀紪璇戝櫒浼?xì)瑙夊緱浣?br /> 銆銆嬈哄ス澶敋浜?jiǎn)锛埦~栬瘧鍣ㄦ槸obj 鍜宔xe 鐨勫濡堬紝搴旇鏄釜濂崇殑錛?P錛夈?br /> 銆銆strftime
銆銆sprnitf 榪樻湁涓笉閿欑殑琛ㄥ錛歴trftime錛屼笓闂ㄧ敤浜庢牸寮忓寲鏃墮棿瀛楃涓茬殑錛岀敤娉曡窡濂硅〃鍝ュ緢鍍忥紝涔?br /> 銆銆鏄竴澶у爢鏍煎紡鎺у埗絎︼紝鍙槸姣曠珶灝忓濞樺蹇?jī)缁嗗Q屽ス榪樿璋冪敤鑰呮寚瀹氱紦鍐插尯鐨勬渶澶ч暱搴︼紝鍙兘鏄負(fù)
銆銆浜?jiǎn)鍦ㄥ嚭鐜伴棶棰樻椂鍙互鎺ㄥ嵏璐d徽d惂銆傝繖閲屼婦涓緥瀛愶細(xì)
銆銆time_t t = time(0);
銆銆//浜х敓"YYYY-MM-DD hh:mm:ss"鏍煎紡鐨勫瓧絎︿覆銆?br /> 銆銆char s[32];
銆銆strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));
銆銆sprintf 鍦∕FC 涓篃鑳芥壘鍒頒粬鐨勭煡闊籌細(xì)CString::Format錛宻trftime 鍦∕FC 涓嚜鐒朵篃鏈夊ス鐨勫悓閬擄細(xì)
銆銆CTime::Format錛岃繖涓瀵圭敱浜庝粠闈㈠悜瀵硅薄鍝噷寰楀埌浜?jiǎn)璧炲姪锛岀敤浠ュ啓鍑虹殑浠g爜鏇磋浼橀泤銆?/span>
sprintf銆鐢ㄦ硶鎬葷粨(2009-08-25 09:36:24)鏍囩錛歩t 鍒嗙被錛欳++
銆銆sprintf,灝嗗悇縐嶇被鍨嬬殑鏁版嵁澶熼犳垚瀛楃涓層?/span>
銆銆sprintf鏄釜鍙樺弬鍑芥暟錛宨nt sprintf(char *buffer,const char *format[,argument]...);闄や簡(jiǎn)鍓嶄袱涓弬鏁扮被鍨嬪浐瀹氬錛屽悗闈㈠彲浠ユ帴浠繪剰澶氫釜鍙傛暟錛岃屽畠鐨勭簿鍗庯紝鍒欏湪絎簩涓弬鏁幫細(xì)鏍煎紡鍖栧瓧絎︿覆涓娿?/span>
銆銆printf鍜宻printf閮戒嬌鐢ㄦ牸寮忓寲瀛楃涓叉潵鎸囧畾涓茬殑鏍煎紡錛屽湪鏍煎紡涓插唴閮ㄤ嬌 鐢ㄤ竴浜涗互“錛?#8221;寮澶寸殑鏍煎紡璇存槑絎︼紙format specification錛夋潵鍗犳嵁涓涓綅緗紝鍦ㄥ悗杈圭殑鍙樺弬鍒楄〃涓彁渚涚浉搴旂殑鍙橀噺錛屾渶緇堝嚱鏁板氨浼?xì)鐢ㄧ浉搴斾綅缃殑鍙橀噺鏉ユ浛浠i偅涓鏄幗W︼紝浜х敓涓涓皟鐢ㄨ呮兂瑕佺殑 瀛楃涓層?/span>
銆涓銆佹牸寮忓寲鏁板瓧瀛楃涓?/span>
銆銆sprintf鏈甯歌鐨勫簲鐢ㄤ箣涓鑾繃浜庢妸鏁存暟鎵撳嵃鍒板瓧絎︿覆涓紝鎵浠printf鍦ㄥぇ澶氭暟鍦哄悎鍙互鏇夸唬itoa.
%-8d 浠h〃瀹藉害鍏綅錛屽乏瀵歸綈錛堟病鏈夎礋鍙蜂負(fù)鍙沖榻愶級(jí)錛屾暣鏁扮殑鍗佽繘鍒?/span>
銆銆%x灝忓啓16榪涘埗銆銆%X澶у啓16榪涘埗
絎﹀彿鎵╁睍闂錛氬弬鏁板帇鏍堥粯璁ゅ洓瀛楄妭錛屽嵆錛樹綅16榪涘埗銆傚簲璇ヨ緙栬瘧鍣ㄥ仛0鎵╁睍鑰屼笉鏄鍙鋒墿灞曘?/span>
銆銆濡傘 sprintf(s,"%04X",(unsigned short)si);
%o 8榪涘埗鏍煎紡鍖栧瓧絎︿覆銆?/span>
銆銆鎺у埗嫻偣鏁版墦鍗版牸寮忥紝浣跨敤鏍煎紡絎?%f"鎺у埗錛岄粯璁や繚鐣欏皬鏁扮偣鍚庯紪浣嶆暟瀛椼?/span>
銆銆%m.nf m琛ㄧず鎵撳嵃鐨勫搴?n琛ㄧず灝忔暟鐐瑰悗鐨勪綅鏁?/span>
銆銆sprintf(s,"%m.nf",i)鍏朵腑i 蹇呴』涓烘誕鐐圭被鍨嬬殑
浜屻佸瓧絎?ASCII鐮佸鐓?/span>
銆銆%c鎵撳嵃涓涓暣鏁幫紝鍙互鐪嬪埌鏁存暟鎵瀵瑰簲鐨凙SCII鍊?/span>
銆for(int i=32 ;i<127;i++)
銆{
銆銆printf("[%c]:%3d 0x%#04X/n",i,i,i);
銆}
銆#涓?X鍚堢敤鏃惰嚜鍔ㄤ負(fù)16榪涘埗鏁板鍔?#8220;0X”鍓嶇紑銆?/span>
涓夈佽繛鎺ュ瓧絎︿覆
銆鍙互鍦ㄨ澶氬満鍚堟浛浠trcat錛宻printf鑳藉涓嬈¤繛鎺ュ涓瓧絎︿覆銆?/span>
銆%s鍙互鍙傜収嫻偣鏁版帶鍒剁殑%m.n銆m琛ㄧず瀹藉害,n琛ㄧず浠庣浉搴旂殑瀛楃涓蹭腑鏈澶氬彇鐢ㄧ殑瀛楃鏁幫紝閫氬父锝嶆病浠涔堢敤銆?/span>
銆銆瀵逛簬鍔ㄦ佺殑錛屽彲浠ラ噰鐢╯printf(s,"%.*s%.*s",7,a1,7,a2)鎴杝printf(s,"%.*s%.*s",sizeof(a1),a1,sizeof(a2),a2);銆銆
鍥涖佹墦鍗板湴鍧淇℃伅
鏈夋椂璋冭瘯紼嬪簭鏃訛紝鎴戜滑鍙兘鎯蟲煡鐪嬫煇浜涘彉閲忔垨鑰呮垚鍛樼殑鍦板潃錛岀敱浜庡湴鍧鎴栬呮寚閽堜篃涓嶈繃鏄釜32 浣嶇殑鏁幫紝浣犲畬鍏ㄥ彲浠ヤ嬌鐢ㄦ墦鍗版棤絎﹀彿鏁存暟鐨?#8221;%u”鎶婁粬浠墦鍗板嚭鏉ワ細(xì)
sprintf(s, "%u", &i);
涓嶈繃閫氬父浜轟滑榪樻槸鍠滄浣跨敤16 榪涘埗鑰屼笉鏄?0 榪涘埗鏉ユ樉紺轟竴涓湴鍧錛?br /> sprintf(s, "%08X", &i);
鐒惰岋紝榪欎簺閮芥槸闂存帴鐨勬柟娉曪紝瀵逛簬鍦板潃鎵撳嵃錛宻printf 鎻愪緵浜?jiǎn)涓撻棬鐨?#8221;%p”錛?br /> sprintf(s, "%p", &i);
鎴戣寰楀畠瀹為檯涓婂氨鐩稿綋浜庯細(xì)
sprintf(s, "%0*x", 2 * sizeof(void *), &i);
浜斻佽繑鍥炲?/span>
榪斿洖浜?jiǎn)鏈瑡啤鍑芥暟璋冪敤鏈緇堟墦鍗板埌瀛楃緙撳啿鍖轟腑鐨勫瓧絎︽暟鐩?
鍏乻trftime
涓撻棬鐢ㄤ簬鏍煎紡鍖栨椂闂村瓧絎︿覆銆傞渶璋冪敤鑰呮寚瀹氱紦鍐插尯鐨勬渶澶ч暱搴︺?/span>
strftime(s,sizeof(s),"%Y-%m-%d %H:%M:%S",localtime(&t));