• <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>
            Impossible is nothing  
              愛過知情重醉過知酒濃   花開花謝終是空   緣份不停留像春風(fēng)來又走   女人如花花似夢(mèng)
            公告
            日歷
            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345
            統(tǒng)計(jì)
            • 隨筆 - 8
            • 文章 - 91
            • 評(píng)論 - 16
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿(4)

            隨筆分類(4)

            隨筆檔案(8)

            文章分類(77)

            文章檔案(91)

            相冊(cè)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             
            對(duì)系統(tǒng)調(diào)用的返回值進(jìn)行判斷
            繼續(xù)上一條,對(duì)于一些系統(tǒng)調(diào)用,比如打開文件,經(jīng)常有這種情況,許多程序員對(duì)fopen返回的指針不做任何判斷,就直接使用了。然后發(fā)現(xiàn)文件的內(nèi)容怎么也讀出不,或是怎么也寫不進(jìn)去。還是判斷一下吧:
            fp = fopen("log.txt", "a");
            if ( fp == NULL ){
                printf("Error: open file error\n");
                return FALSE;
            }
            其它還有許多,比如:socket返回的socket號(hào),malloc返回的內(nèi)存等等。我的建議是:只要是函數(shù)聲明時(shí)返回值不是void類型,就請(qǐng)對(duì)這些系統(tǒng)調(diào)用返回的東進(jìn)行判斷,舉一個(gè)最常見的函數(shù):close,它是這么定義的:
                int close(int fd);
            再看一下它的一些描述:“Not checking the return value of close is a common but nevertheless serious programming error.  It  is  quite possible  that  errors  on a previous write operation are first reported at the final close.  Not checking the return value when closing the file may lead to silent loss of data.  This can especially be observed with NFS and disk quotas.”因?yàn)楝F(xiàn)代的操作系統(tǒng)都啟用了延時(shí)寫技術(shù),在你調(diào)用write之后并不一定馬上就將數(shù)據(jù)寫入磁盤,所以close的時(shí)候有可能此時(shí)系統(tǒng)真正向磁盤寫入大段數(shù)據(jù)導(dǎo)致close失敗。而你缺認(rèn)為文件已被關(guān)閉。解決的方法是判斷close的返回值,失敗后稍等一會(huì)兒,或是使用其他策略。
            posted on 2006-02-26 12:53 笑笑生 閱讀(206) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++語言
             
            Copyright © 笑笑生 Powered by: 博客園 模板提供:滬江博客
            国产精品一区二区久久精品| 99re久久精品国产首页2020| 久久精品国产99国产精品澳门| 久久婷婷五月综合色奶水99啪| 一本一道久久综合狠狠老| 午夜天堂av天堂久久久| 久久国产乱子伦免费精品| 精品久久久久久久久久久久久久久| 粉嫩小泬无遮挡久久久久久| 国産精品久久久久久久| 久久久久se色偷偷亚洲精品av| 久久九九精品99国产精品| 99久久精品国产一区二区蜜芽| 精品国产乱码久久久久软件| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 色偷偷88888欧美精品久久久| 国内精品久久久久影院优| 久久久久成人精品无码| 精品久久久久久中文字幕大豆网| 国产精品久久久福利| 少妇无套内谢久久久久| 久久国产精品成人免费| 热久久视久久精品18| www亚洲欲色成人久久精品| 久久影院综合精品| 久久久久97国产精华液好用吗| 国产V综合V亚洲欧美久久| 一级A毛片免费观看久久精品| 伊人久久免费视频| 婷婷五月深深久久精品| 久久久久久久精品妇女99| 久久精品国产精品亚洲下载| 99久久国产主播综合精品| 久久九九青青国产精品| 久久久女人与动物群交毛片| 久久强奷乱码老熟女网站| 久久久久无码专区亚洲av| 久久AAAA片一区二区| 精品国产婷婷久久久| 久久久精品国产Sm最大网站| 久久久国产一区二区三区|