• <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>

            不戒廟

            求助:CString Format自身的溢出的問題

            以下是代碼

            1 CString strMsg1 = "確認要刪除 %s 嗎?";
            2 CString title = "標題";
            3 StrMsg1.Format(strMsg1,title");
            以上這段代碼出錯
            Expression:("Buffer too small",0)

            而換成

            1 CString strMsg1 ;
            2 CString title = "標題";
            3 StrMsg1.Format("確認要刪除 %s 嗎?",title");
            就不出錯了

            環境:Win2k3_En_Sp2 + VS2005

            各位達人,能告訴我是什么原因。

            posted on 2008-07-19 11:07 不戒大師 閱讀(3744) 評論(9)  編輯 收藏 引用

            Feedback

            # re: 求助:CString Format自身的溢出的問題 2008-07-19 11:35 斯卡

            不明白你的title后為什么要加"  回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題 2008-07-19 12:06 三不戒大師

            title值是變量啊,并不是固定值
              回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題[未登錄] 2008-07-19 12:15 Kevin

            title 不是字符串對象, 而不是char指針, 你應該 (LPCSTR)title 才對, 因為CString重載了LPCSTR, 這樣在運行時才能自動轉換成char指針, 匹配到 %s  回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題[未登錄] 2008-07-19 12:16 Kevin

            改一下"title 不是字符串對象" 應為 "title是CString對象"  回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題 2008-07-19 12:40 陳梓瀚(vczh)

            CString能隱式轉換到LPCTSTR的,這個倒不是問題。難道CString非空的時候,Format就默認『該對象被重新利用,而不是重新構造一個新的CString對象』?  回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題 2008-07-19 12:54 wxyz

            CString::Format
            void Format( LPCTSTR lpszFormat, ... );

            void Format( UINT nFormatID, ... );

            Parameters

            lpszFormat

            A format-control string.

            nFormatID

            The string resource identifier that contains the format-control string.

            Remarks

            Call this member function to write formatted data to a CString in the same way that sprintf formats data into a C-style character array. This function formats and stores a series of characters and values in the CString. Each optional argument (if any) is converted and output according to the corresponding format specification in lpszFormat or from the string resource identified by nFormatID.
            ////!!!!!這地方好像說了.
            The call will fail if the string object itself is offered as a parameter to Format. For example, the following code:

            CString str = "Some Data";
            str.Format("%s%d", str, 123); // Attention: str is also used in the parameter list.

            will cause unpredictable results.
            ////!!!!
            When you pass a character string as an optional argument, you must cast it explicitly as LPCTSTR. The format has the same form and function as the format argument for the printf function. (For a description of the format and arguments, seeprintf in the Run-Time Library Reference.) A null character is appended to the end of the characters written.

              回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題 2008-07-19 16:01 三不戒大師

            @wxyz
            謝謝,終于弄明白是怎么回事了  回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題 2008-07-19 17:01 陳梓瀚(vczh)

            經常看到msdn里面把bug當成feature……  回復  更多評論   

            # re: 求助:CString Format自身的溢出的問題[未登錄] 2008-07-20 08:55 Leo

            @陳梓瀚(vczh)
            這本來就是一種未定義情況,如同snprintf中將自己作為一個參數一樣…  回復  更多評論   


            My Links

            Blog Stats

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久亚洲AV综合波多野结衣| 久久A级毛片免费观看| 久久亚洲AV无码西西人体| 久久久国产99久久国产一| 77777亚洲午夜久久多人| 久久国产色AV免费观看| 久久精品国产福利国产琪琪| 久久人人爽人人爽人人爽| 99国产精品久久久久久久成人热| 久久久久亚洲精品男人的天堂| 久久久久久国产精品美女 | 久久福利青草精品资源站免费| 国产精品美女久久久久av爽 | 高清免费久久午夜精品| 久久国产免费| 久久精品国产精品亚洲精品| 亚洲精品午夜国产va久久| 国产精品成人精品久久久| 国产成人久久精品一区二区三区 | 亚洲国产二区三区久久| 久久狠狠爱亚洲综合影院| 久久综合狠狠综合久久97色| 午夜不卡888久久| 99久久er这里只有精品18| 中文字幕日本人妻久久久免费| 精品久久久久久久久久久久久久久| 久久水蜜桃亚洲av无码精品麻豆| 波多野结衣久久一区二区 | 精品久久久无码中文字幕| 精品免费久久久久久久| 精品无码久久久久国产| 久久久一本精品99久久精品66| 亚洲综合熟女久久久30p| 97精品伊人久久久大香线蕉| 亚洲伊人久久成综合人影院| 久久久受www免费人成| 久久WWW免费人成—看片| 欧美一级久久久久久久大| 久久中文字幕无码专区| 亚洲色欲久久久久综合网| 久久久久亚洲AV无码专区首JN|