所以,大家好。
我在虚拟机上的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];
我的问题是 - 当我在任何一个或几个EDIT中只输入一位十进制数时,这些数字就是正确的读取和输出。但是当我输入多位小数时 - 它们被视为零。 这个问题是关于什么的?
提前致谢。抱歉我的英语不好。
答案 0 :(得分:0)
您没有显示buftext的声明,但我怀疑您将其键入宽字符缓冲区并在您打算使用_wtoi
时使用atoi
。