• <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 不戒大師 閱讀(3771) 評論(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久久香蕉| 久久综合偷偷噜噜噜色| 久久久久久伊人高潮影院| 久久精品草草草| 久久精品桃花综合| 久久免费精品视频| 色婷婷综合久久久中文字幕| 99久久精品久久久久久清纯| 国产成人精品久久| 久久国产精品偷99| 国产精品久久久久久一区二区三区| 欧美国产精品久久高清| 久久免费高清视频| 久久综合给合久久狠狠狠97色69| 久久久久国产日韩精品网站| 国产亚洲欧美成人久久片| 亚洲国产精品无码久久久秋霞2| 久久精品国产亚洲Aⅴ香蕉| 九九99精品久久久久久| 人妻久久久一区二区三区| 欧美午夜A∨大片久久| 久久免费视频6| 久久精品国产亚洲5555| 久久免费视频6| 久久男人AV资源网站| 久久se这里只有精品| 久久久精品波多野结衣| 国产精品成人久久久久三级午夜电影 | 精品久久久久久久久免费影院| 国产—久久香蕉国产线看观看| 精品一区二区久久久久久久网站| 777米奇久久最新地址| 99热成人精品热久久669| 久久久免费精品re6| 99久久99久久久精品齐齐| 国产精品久久久久影院嫩草| 国内精品久久久久久野外| 久久这里只有精品久久| 国产高潮国产高潮久久久91|