大佬教程收集整理的这篇文章主要介绍了c – Windows API如何接受字符串,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
TCHAR * label = new TCHAR[50](); _tcscpy( label,_T("allocated string") ); m_wndStaticLabel.SetWindowText( label ); _tcscpy( label,_T("string has changed") );
理论上我希望它打印“字符串已更改”但它打印“已分配的字符串”.同理:
CString label = _T("CString Label"); m_wndStaticLabel.SetWindowText( label );
在这种情况下,一个局部变量’label`的指针正在传递给它,但仍然没有问题.控件总是打印正确的字符串,即使它收到堆栈上分配的字符串指针.
这意味着控件实际上分配了自己的内存,并将其分配给控件而不是我们传递的指针,但这一事实从未记录过.这有点误导吗?当我传递指向函数的指针时,我立即提醒自己的一件事是我不应该在函数返回之前销毁它,但在这种情况下不是这种情况,也没有记录.
所以我的问题最终只是缺少文档,或者当我们将指针传递给一个对象时它还有其他东西,但它的行为就像我们按值传递对象一样?
以上是大佬教程为你收集整理的c – Windows API如何接受字符串全部内容,希望文章能够帮你解决c – Windows API如何接受字符串所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。