刚刚在 Visual Studio 2012 中使用 win32 进入 c++。我在 C 和 C# 方面经验丰富,但我的 c++ 有点缺乏。win32 的东西似乎只是采取了任何直觉的暗示并将其扔进了火山。到目前为止,它一直很痛苦。
这是我正在尝试做的事情:1)从文本框“编辑”控件中提取文本 2)将此文本转换为 int 3)使用 sprintf 类型格式化程序形成一个字符串,用于双浮点数 4)取结果字符串并将其显示在不同的文本框中。
我尝试了几种我在网上找到的不同的东西,但它们都不够用。这是我能做的最好的:
wchar_t buffer[30];
const wchar_t formatString[] = {'%','f','\0'}; //Yes I know this is awful, I don't know how to convert a string literal into a wchar_t array.
GetWindowText(txtFixedPtToFloatInputHandle, &buffer[0], 15);
//Convert to signed integer
fixedPtValue = _wtoi(&buffer[0]);
//get a float
floatVal = 12.50;
//Use formatter to create a string representation
swprintf(buffer, 30, &formatString[0], floatVal);
SetWindowText(txtFixedPtToFloatOutputHandle, buffer);
这是我最近的一次。我知道这很讨厌,但我在网上找到的所有其他东西都达不到要求(LPWSTR、boost::、stdio.h)。在这段代码中,所有缓冲区都加载了正确的字符串!问题是我的程序在函数返回时关闭/退出!有什么帮助吗??