c-获得';双倍';来自DialogProc回调函数内部的变量
我正在使用VisualStudio用C构建一个Windows应用程序,我需要在DialogProc回调函数中为外部变量设置值 对于字符串变量,我使用strcpy,这很有效。然而,当涉及到类型为“double”的变量时,我被卡住了。有谁能建议一个合适的方法吗?也许是strcpy(字符串)更好的替代品 我从一个文本框中指定变量c-获得';双倍';来自DialogProc回调函数内部的变量,c,windows,C,Windows,我正在使用VisualStudio用C构建一个Windows应用程序,我需要在DialogProc回调函数中为外部变量设置值 对于字符串变量,我使用strcpy,这很有效。然而,当涉及到类型为“double”的变量时,我被卡住了。有谁能建议一个合适的方法吗?也许是strcpy(字符串)更好的替代品 我从一个文本框中指定变量expName,如下所示: GetDlgItemTextA(hwnd, IDC_EDIT1, expName, 100); 然后使用strcpy将其复制到回调函数外部的结构
expName
,如下所示:
GetDlgItemTextA(hwnd, IDC_EDIT1, expName, 100);
然后使用strcpy
将其复制到回调函数外部的结构
strcpy(myExperiment[free].name, expName);
我最初尝试了myExperiment[free].name=expName
但是当函数结束时,expName
不再存在,因此我无法访问该值
当函数结束时,使用strcpy,我仍然可以访问expName
中的任何内容,但是如果输入是双精度的,我不确定如何才能做到这一点。这是我尝试的(针对不同的结构):
您是在问如何设置双类型变量吗?只需分配给变量?它真的看不出问题所在。您如何访问“字符串”?你不能用同样的方法传递双变量吗?你能试着创造一个新的世界并展示给我们吗?并且请花一些时间。编辑问题以显示您试图使用的代码。添加代码-让我知道这是否足够。如果
memcpy
和myParameters[0][0]都有类型double
,则使用memcpy
没有任何意义。
double flowrate = GetDlgItemInt(hwnd, IDC_EDIT3, NULL, FALSE);
memcpy(&myParameters[0][0].flowrate, &flowrate, sizeof(double));