C++ 读取文本编辑框的值时出现问题
我试图在windows对话框中读取C++ 读取文本编辑框的值时出现问题,c++,c,winapi,desktop,C++,C,Winapi,Desktop,我试图在windows对话框中读取文本编辑框的值,并使用消息框显示结果,但是运行程序时显示的结果只是“错误”,即使visual studio的调试部分中没有异常或错误消息。我做错了什么?以下是主题代码: LPWSTR path; GetDlgItemText(hDlg, IDC_PROGRAM, path, sizeof(path)); MessageBox(hDlg, NULL, path, MB_OK); 您正在将未初始化的指针和不正确的缓冲区大小传递给GetDlgItemText() 您
文本编辑
框的值,并使用消息框
显示结果,但是运行程序时显示的结果只是“错误”,即使visual studio的调试部分中没有异常或错误消息。我做错了什么?以下是主题代码:
LPWSTR path;
GetDlgItemText(hDlg, IDC_PROGRAM, path, sizeof(path));
MessageBox(hDlg, NULL, path, MB_OK);
您正在将未初始化的指针和不正确的缓冲区大小传递给
GetDlgItemText()
您需要为要写入的GetDlgItemText()
的缓冲区分配内存,并指定该缓冲区的最大大小,例如:
WHAR路径[MAX_path]={};
GetDlgItemText(hDlg、IDC\u程序、路径、最大路径);
MessageBox(hDlg,NULL,路径,MB_OK);
您正在将未初始化的指针和不正确的缓冲区大小传递给GetDlgItemText()
您需要为要写入的GetDlgItemText()
的缓冲区分配内存,并指定该缓冲区的最大大小,例如:
WHAR路径[MAX_path]={};
GetDlgItemText(hDlg、IDC\u程序、路径、最大路径);
MessageBox(hDlg,NULL,路径,MB_OK);
sizeof(path)
是指针的大小。path变量是指向宽字符串的未初始化指针。最后一个参数必须是路径的最大大小,而不是指针的大小。它现在可以正常工作了!感谢您的帮助:)sizeof(path)
是指针的大小。path变量是指向宽字符串的未初始化指针。最后一个参数必须是路径的最大大小,而不是指针的大小。它现在可以正常工作了!谢谢你的帮助:)