青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

從sprintf談開 ----------- 轉

一、危險指數五星的strcpy()
strcpy是眾所周知的最危險函數之一,它不判斷目標緩沖區是否足夠長,而strncpy要好一點,但它從某種意義上講,卻比strcpy還危險方:當目標緩沖區滿時,它不在尾部加零,也就是說,程序員也許會以為用了個安全的函數,結果拷貝過去的字串卻可能不是以零結尾!!
這個函數的替代品是strsafe.h中的StringCchCopy()
 
二、危險且低效的sprintf()
sprintf(以及printf系列)不但危險,而且低效。首先,它與strcpy一樣,沒有判斷目標緩沖區的長度,其次,它只能在運行時刻判斷參數的類型和個數(也就是說,如果你的格式字符指定了“%s: %d”,但你傳的參數個數不符,或者類型不符,只有在運行時刻才會爆發出來)。
從安全角度上講,這個函數的替代品是strsafe.h中的StringCchPrintf(),但如果同時再考慮效率,用C++的輸出流更好(比如ostringstream),因為輸出流的格式化是在編譯時刻決定的。
 
三、printf系列的錯誤用法(同樣適用于StringCchPrintf
StringCchPrintf(outString, countOfOutBuffer, sourString)這種用法是相當危險的,它希望達到與StringCchCopy相同的效果,但它會在sourString中包含有“%d %s”這種程序員意料之外的冬冬時,產生嚴重的后果。正確的做法是:無論在任何情況下,printf系列函數都必須包含“明確的格式化字串”,比如sprintf(outString, "%s", sourString)。
 
四、貌似安全的strsafe.h中的系列函數
StringCchCopy等函數,有一個很討厭的地方,就是它們不判斷源字符指針是否為NULL,也就是說,如果我們傳遞一個NULL指針給它,希望它理解為一個空串,而它卻會產生一個零地址訪問違例。這個也許并不嚴重,但卻會讓漫不經心不仔細閱讀文檔的程序員大吃一驚,而我這里想說的是,這個并不是它們真正不安全的地方,真正不安全的地方其實在于它們并未把程序員從“必然管理字串長度和零結尾”中解脫出來,比方說程序員會提供一個錯誤的目標緩沖區長度,特別是在寬字符環境下,錯誤地傳遞了目標緩沖區的字節數,而不是字符數。
 
五、幸好有了STL
STL提供的模板類basic_string規避和解決了上述所有問題,讓C++程序員也擁有了類似于DELPHI中的原生String,再配合輸入輸出流(輸入流解決格式化輸入問題、輸出流解決了格式化輸出),從此“必須管理字串及緩沖區長度”、“必須補零”等問題,不再是C++程序員需要考慮的了!
 
六、你還只是一個C程序員嗎?
拋開OO不談,如果你還在自己管理字符串,那你就還只是一個C程序員。(附注:不代表BS這門語言以及它的程序員們,只是在字符串這個軟脅上,我們應該能做得更好)。

posted on 2008-08-20 02:01 大龍 閱讀(465) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产一区二三区| 亚洲欧美国产制服动漫| 嫩草成人www欧美| 亚洲国内精品| 欧美**人妖| 99国产精品久久久| 欧美亚洲视频一区二区| 在线观看日韩av先锋影音电影院| 欧美不卡视频一区发布| 亚洲一区免费看| 欧美激情视频在线播放| 亚洲影院免费| 精品1区2区| 国产精品户外野外| 久久亚洲精品一区| 亚洲一区二区网站| 久久九九久精品国产免费直播| 亚洲精品在线视频| 久久在线免费| 先锋影音网一区二区| 久久久久久一区| 欧美亚洲自偷自偷| 米奇777超碰欧美日韩亚洲| 欧美一级免费视频| 欧美成人在线免费视频| 久久综合九色九九| 99re8这里有精品热视频免费| 欧美激情a∨在线视频播放| 亚洲精品中文字幕有码专区| 性娇小13――14欧美| 亚洲天堂成人在线观看| 亚洲精品国产精品国自产在线 | 欧美日本免费| 久久福利毛片| 欧美一区二区三区在线观看视频| aa亚洲婷婷| 久久三级福利| 国产日韩欧美黄色| 国产精品久久精品日日| 亚洲黄色毛片| 久久五月婷婷丁香社区| 亚洲一区二区免费视频| 欧美日韩精品一区二区| 欧美人交a欧美精品| 激情六月婷婷久久| 久久精品99国产精品| 久久精品盗摄| 亚洲色图综合久久| 欧美一级在线视频| 国产精品久久久久毛片软件| 国产精品久久久一本精品| 久久久蜜桃一区二区人| 亚洲黄色三级| 亚洲欧洲在线看| 久久久久久久一区二区| 久久久精品一区| 欧美日韩亚洲天堂| 国产精品一区二区a| 国产精品主播| 亚洲综合精品自拍| 99视频一区二区| 欧美日韩国产丝袜另类| 91久久久国产精品| 亚洲永久精品大片| 亚洲美女免费视频| 欧美日韩高清区| 亚洲美女av黄| 午夜激情亚洲| 久久一区二区精品| 久久高清免费观看| 国语自产偷拍精品视频偷| 国产农村妇女毛片精品久久莱园子| 国产精品入口日韩视频大尺度| 国产偷国产偷亚洲高清97cao | 国产欧美日韩高清| 久久精品亚洲精品国产欧美kt∨| 亚洲一区二区成人在线观看| 国产日韩精品综合网站| 久久久久综合一区二区三区| 久久综合九色综合网站| 久久精品在这里| 亚洲电影观看| 久久大逼视频| 亚洲精品日产精品乱码不卡| 欧美日韩一区二区在线播放| 性欧美大战久久久久久久免费观看 | 国产精品久久久久久久久| 性色av一区二区怡红| 久久国产精品99国产精| 亚洲精选中文字幕| 亚洲男女自偷自拍图片另类| 欧美日韩伦理在线| 久久国产手机看片| 欧美成人免费在线视频| 销魂美女一区二区三区视频在线| 久久久久久久综合色一本| 日韩午夜激情av| 欧美激情第五页| 国产精品久久久久久久浪潮网站 | 另类专区欧美制服同性| 一区二区三区四区在线| 亚洲综合久久久久| 亚洲人成在线观看网站高清| 国产精品福利片| 久久精品国产欧美激情| 免费美女久久99| 香蕉成人啪国产精品视频综合网| 久久精品国产一区二区三区免费看 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲欧洲av一区二区| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品自在久久| 小嫩嫩精品导航| 亚洲午夜一区| 一区二区三区日韩精品| 欧美激情一级片一区二区| 亚洲国产精品传媒在线观看| 久久网站免费| 国产精品视频免费一区| 99re6这里只有精品| 亚洲精品三级| 亚洲精品1区| 韩国女主播一区| 亚洲综合第一| 亚洲欧美国产三级| 欧美视频在线一区| 久久精品欧美日韩精品| 欧美日韩中文在线| 亚洲精品久久视频| 亚洲精品欧美激情| 欧美大片在线观看一区| 欧美高清视频在线播放| 国产性色一区二区| 性欧美xxxx视频在线观看| 欧美一区二区三区成人| 欧美一区亚洲一区| 91久久视频| 免费高清在线视频一区·| 亚洲手机在线| 亚洲欧美日韩一区| 午夜久久美女| 国产精品一区毛片| 午夜伦欧美伦电影理论片| 欧美一级理论性理论a| 国产女主播在线一区二区| 亚洲一区免费网站| 久久精品国产99国产精品| 国产精品一区在线观看| 亚洲私人黄色宅男| 亚洲一区影院| 国产日韩av一区二区| 午夜国产精品视频免费体验区| 久久久蜜桃精品| 亚洲免费av片| 国产精品乱码| 久久爱91午夜羞羞| 欧美成人午夜视频| 亚洲视频在线观看| 国产日本精品| 美女黄色成人网| 亚洲日本成人| 国产欧美日本一区视频| 久久精品99久久香蕉国产色戒| 亚洲制服少妇| 国产伦理一区| 久久综合色8888| 99国产精品99久久久久久粉嫩 | 亚洲大片在线| 欧美日韩精品伦理作品在线免费观看 | 国产精品都在这里| 久久久久久婷| 一二三四社区欧美黄| 久久久精品国产免费观看同学| 欧美激情精品久久久六区热门| 欧美专区福利在线| 伊人天天综合| 欧美特黄a级高清免费大片a级| 先锋影音国产精品| 亚洲国产精品尤物yw在线观看| 国产一区二区三区四区在线观看| 日韩午夜电影| 巨胸喷奶水www久久久免费动漫| 中文高清一区| 亚洲国产高清一区| 国产欧美精品在线观看| 欧美激情片在线观看| 新67194成人永久网站| 最新国产拍偷乱拍精品| 久久久久久国产精品一区| 亚洲美女中文字幕| 黄色av一区| 国产九九精品| 欧美午夜理伦三级在线观看| 亚洲另类在线一区| 久久色中文字幕| 亚洲欧美文学| 在线亚洲一区| 国产精品美女久久久久久久| 欧美aaa级| 久久综合狠狠综合久久综合88 |