⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read.cgi-read=9720.htm

📁 mfc资料集合5
💻 HTM
字号:
<HTML><HEAD><TITLE>CString Memory Leaks Why ?</TITLE>
</HEAD><BODY background="../fancyhome/back.gif" tppabs="http://www.codeguru.com/fancyhome/back.gif" bgcolor="#FFFFFF">
 <table WIDTH="100%"> <tr WIDTH="100%"> <td><table>
		<tr><td><img src="../mfc_sourcebook.jpg" tppabs="http://www.codeguru.com/mfc_sourcebook.jpg" 
		ALT="MFC Programmer's SourceBook" WIDTH="256" 
		HEIGHT="88"><td></tr>
		<tr><td valign="bottom"><font SIZE="+1" 
		color="#a0a0ff"><b>Discussion Board</b></font></td></tr>
		</table></td> <td width="40"></td>
		<td  align="right" valign="top"><td> </tr> </table> <hr><P ALIGN=CENTER>[ <A HREF="#Responses">Read Responses</A> | <A HREF="#PostResponse">Post a New Response</A> | <A HREF="index.cgi.htm" tppabs="http://www.codeguru.com/mfc_bbs/index.cgi">Return to the Index</A> ]
<A HREF="read.cgi-read=9736.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9736">Next in Thread</A><P ALIGN=CENTER><BIG><BIG><BIG><STRONG>CString Memory Leaks Why ?</STRONG></BIG></BIG></BIG>
<P ALIGN=CENTER><EM>Posted by <STRONG><A HREF="mailto:hansw@flash.net">Hans Wedemeyer</A></STRONG> on <STRONG>4/18/98 11:19a.m.</STRONG></EM></P>
<!-- REMOTE_HOST: 207.193.18.160; REMOTE_ADDR: 207.193.18.160-->
<P>Memory leaks after extensive use of CString.
<P>In one of my classes I make use of CString a lot, there are several functions
<BR>that need to manipulate strings.
<BR>When I need a CString in one of these functions, I declare it on the fly like
<BR>this
<P>CString strName; // for example a Name string
<P>I use the string  mostly  with
<BR>strName.Find()
<BR>strName.Left()
<BR>strName.Mid()
<BR>str += strName  etc. However I do NOT make use of the GetBuffer(), and the
<BR>need to ReleaseBuffer() is something I'm aware of, so I did not expect this
<BR>kind of a problem when using CString!
<P>As these CString objects are declared on the fly within each function, I
<BR>expected the CString destructor to take care of the cleanup as the object
<BR>went out of scope, and from the error message (see below) it appears CString
<BR>is not deleting the memory it allocated for the task.
<P>Somewhere I can remember reading something about doing a Empty() when
<BR>finished with CString Object, but I was never clear as to why this was needed!
<P>Here is one of the error messages I get, maybe some one has already had this
<BR>problem and can identify the cause ?
<P>Maybe I'm using CString incorrectly, if that is the case, please enlighten me
<BR>as to what I'm doing wrong !
<P>regards
<BR>Hans Wedemeyer
<P>Dumping objects -&gt;
<BR>strcore.cpp(76) : {5350} normal block at 0x00DDF440, 28 bytes long.
<BR> Data: &lt;            [_][&gt; 01 00 00 00 0F 00 00 00 0F 00 00 00 5B 5F 5D 5B
<P>This is line 76 of strcore.cpp
<BR>CStringData* pData = (CStringData*)new BYTE[sizeof(CStringData) + (nLen+1)*sizeof(TCHAR)];
<P>I expect the allocated memory &quot;pData&quot; is not getting deleted..
<BR>
</P>
<A NAME="Responses"><HR></A><P ALIGN=CENTER><BIG><BIG><STRONG>Responses</STRONG></BIG></BIG>
<P><UL><LI><STRONG><A HREF="read.cgi-read=9736.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9736">Re: CString Memory Leaks Why ?</A></STRONG> : Nagaraj -- <EM>4/18/98 11:00p.m.</EM>
<UL>
</UL>
<LI><STRONG><A HREF="read.cgi-read=9852.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9852">Re: CString Memory Leaks Why ?</A></STRONG> : yoav zilberberg -- <EM>4/20/98 10:40a.m.</EM>
<UL>
<LI><STRONG><A HREF="read.cgi-read=9853.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9853">Re: CString Memory Leaks Why ?</A></STRONG> : Hans Wedemeyer -- <EM>4/20/98 10:59a.m.</EM>
<UL>
<LI><STRONG><A HREF="read.cgi-read=10090.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=10090">Hint on Memory Leak detection...</A></STRONG> : Corey -- <EM>4/22/98 8:08a.m.</EM>
<UL>
</UL>
</UL>
</UL>
</UL></P>
<A NAME="PostResponse"><HR></A><P ALIGN=CENTER><BIG><BIG><STRONG>Post a New Response</STRONG></BIG></BIG>
<P><FORM METHOD=POST ACTION="http://www.codeguru.com/mfc_bbs/index.cgi?post">
<INPUT TYPE=HIDDEN NAME="followup" VALUE="9720">
<P><CENTER><TABLE><TR>
<TD ALIGN=RIGHT><P><STRONG>Your Name:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="name" SIZE=40></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>E-Mail Address:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="email" SIZE=40></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Subject:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="subject" SIZE=40 VALUE="Re: CString Memory Leaks Why ?"></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><P><STRONG>Message:</STRONG><BR><TEXTAREA COLS=80 ROWS=15 NAME="body" WRAP=PHYSICAL>
</TEXTAREA></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like to include a link to another page with your message,<BR>please provide both the URL address and the title of the page:</SMALL></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Link URL:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="url" SIZE=40 VALUE="http://"></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Link Title:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="url_title" SIZE=40></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like to include an image (picture) with your message,<BR>please provide the URL address of the image file:</SMALL></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Image URL:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="imageurl" SIZE=40 VALUE="http://"></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like e-mail notification of responses, please check this box:</SMALL> <INPUT TYPE=CHECKBOX NAME="wantnotice" CHECKED VALUE="yes"></TD></TR><TR>
<TH COLSPAN=2><HR WIDTH=50%><P><INPUT TYPE=SUBMIT NAME="Preview" VALUE="Preview Message"> <INPUT TYPE=SUBMIT NAME="Post" VALUE="Post Message"></TH></TR></TABLE></CENTER></P></FORM>
<HR><P ALIGN=CENTER><SMALL>The MFC Discussion Board is maintained with <STRONG><A HREF="http://awsd.com/scripts/webbbs/">WebBBS 2.24</A></STRONG>.</SMALL></P>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -