0

所以,大家好。

我已经在虚拟机上的 win2k 上安装了 MSVC6,但可执行文件在模拟 winXP 的葡萄酒下运行(奇怪吧?)。

我有一些代码,它创建一个 EDIT 字段数组:

        for (i=0; i<NDRIVES_MASK+1; i++) {
            hWndEdit_Nstep[i] = CreateWindowEx (NULL,
                "EDIT",
                "0",
                WS_CHILD|WS_VISIBLE|WS_BORDER,
                150, // x
                45+40*i,  // y
                75,  // w
                40,  // h
                hWnd,
                (HMENU)IDC_NSTEP_EDIT[i],
                GetModuleHandle(NULL),
                NULL);
            sprintf(str, "Число полушагов [%3d]", i);
        };

而且我还有一些其他代码部分,试图读取这些编辑中的数据:

            for (i=0; i<NDRIVES_MASK+1; i++) {
                DriveN = i;
                printf("--- [DEBUG] - DriveN - %#x\n", DriveN);
                SendMessage(hWndEdit_Nstep[DriveN],
                          WM_GETTEXT,
                          (WPARAM)256,
                          (LPARAM)buftext);
                Nsteps = _wtoi(buftext);
                printf("--- [DEBUG] - Nsteps - %#x\n", Nsteps);
                wprintf(L"--- [DEBUG] - Nsteps - %s\n", buftext);
            }   // for (i, ndrives)

更新:

buftext 声明如下:

wchar_t buftext[256];

我的问题是 - 当我在任何一个或什至在其中几个编辑中只输入一位小数时,这些数字会正确读取和输出。但是当我输入多位小数时 - 它们被视为零。这个问题是关于什么的?

提前致谢。对不起我的英语不好。

4

1 回答 1

0

您没有显示 buftext 的声明,但我怀疑您将其键入为宽字符缓冲区并_wtoi在您打算使用atoi.

于 2013-06-17T03:49:01.033 回答