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

📄 subject_34660.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:34660 发表者:阿蝌 发表日期:2003-04-01 09:53:15
<br>主题:我又发现VC的BUG了
<br>内容:CFileDialog cf(true,NULL,NULL,OFN_HIDEREADONLY,"Script File(*.txt)|*.txt|") ;<BR>if(cf.DoModal()==IDOK)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString CSTemp=cf.GetPathName();<BR>&nbsp;&nbsp;&nbsp;&nbsp;char *xxx=CSTemp.GetBuffer(CSTemp.GetLength());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;char *yyy=cf.GetPathName().GetBuffer(cf.GetPathName().GetLength());<BR>}<BR>请观察xxx,和yyy的值
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2003-04-01 10:04:35
<br>内容:xxx和yyy的值肯定不同,CSTemp是根据cf.GetPathName()构造的对象,xxx是取得CSTemp的字符串指针;<BR>yyy是cf.GetPathName()生成的临时对象的字符串指针,这两者完全是两回事。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:阿蝌 回复日期:2003-04-01 10:20:41
<br>内容:那请这能说明两者地址不同而已,为什么值也不同
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2003-04-01 11:49:17
<br>内容:char *yyy=cf.GetPathName().GetBuffer(cf.GetPathName().GetLength());<BR>该句产生了两个临时对象,这些对象在该句执行完毕时析构,所以yyy实际指向了无效的内存区域,所以值也不同.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:阿蝌 回复日期:2003-04-01 14:00:10
<br>内容:多谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:彭志龙 回复日期:2003-04-18 10:43:01
<br>内容:char *yyy=cf.GetPathName().GetBuffer(cf.GetPathName().GetLength());<BR>那么实际上这样定义的指针迟早会出问题,建议大家不要这么使用.谢谢你的问题,让人长见识.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

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