1
我在下面两行代码:定义缓冲区大小正确的“堆栈周围的变量字符串已损坏”
TCHAR String[400] = {0};
SendMessageW(hwnd, WM_GETTEXT,sizeof(String), (LPARAM)String);
当我使用这种方式我有时会得到一个运行时错误:“堆栈周围的变量字符串被损坏”
当我使用
TCHAR String[400] = {0};
SendMessageW(hwnd, WM_GETTEXT,10, (LPARAM)String);
它的工作原理没有问题。但我认为关于使用sizeof()的全部内容是确保没有溢出问题....为什么sizeof(String)不安全,我可以使用什么?
谢谢!祝你有愉快的一天!
你为什么不使用`GetWindowText`功能?为什么你在地球上使用Windows 9x兼容性方案?你真的*计划支持Windows 95链接到MFC DLL的应用程序吗? – 2011-02-05 19:47:56