• <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 不戒大師 閱讀(3760) 評論(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

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            粉嫩小泬无遮挡久久久久久 | 久久精品无码一区二区无码 | 99国产欧美精品久久久蜜芽| 少妇久久久久久久久久| 久久久久久久亚洲Av无码| 久久久久国产| 99久久精品午夜一区二区| 欧美激情精品久久久久久久九九九| 久久久久久国产精品无码下载| 国产精品久久波多野结衣| 一本色道久久综合狠狠躁篇| 99久久久精品| 久久成人小视频| 国内精品久久久久久久涩爱| 久久国产欧美日韩精品| 国产精品久久久久久久午夜片| 久久久这里有精品| 日本道色综合久久影院| 亚洲欧美国产精品专区久久| 狠狠色丁香婷婷综合久久来| 久久精品日日躁夜夜躁欧美| 久久青青草原精品国产不卡| 精品国产一区二区三区久久| 久久综合亚洲色一区二区三区| 久久久久亚洲AV成人网| 国产精品99久久久久久人| 欧洲成人午夜精品无码区久久 | 99久久精品国产综合一区 | 久久免费美女视频| 97久久国产亚洲精品超碰热| 久久久久人妻精品一区二区三区| 97精品依人久久久大香线蕉97| 亚洲一区精品伊人久久伊人| 久久久久亚洲?V成人无码| 久久精品无码一区二区日韩AV| 久久精品国产WWW456C0M| 99久久精品九九亚洲精品| 精品视频久久久久| 久久精品国产亚洲精品| 亚洲另类欧美综合久久图片区| 少妇人妻综合久久中文字幕|