c++ MFC 将编辑控件中的字符串转换为十六进制
c++ MFC converting a string in an edit control to hexidecimal
如果我在源代码中定义字符串,我可以完美地将字符串转换为十六进制
,例如:int input = 15;
CString output;
output.Format(L"%x", input);
m_oput.SetWindowText(output);
结果是"f",但是如果我这样做,为什么会这样:
TCHAR buffer[500];
int input = GetDlgItemText(TOCON, buffer, 50);
CString output;
output.Format(L"%x", input);
m_oput.SetWindowText(output);
输出是"2"?我尝试了其他几种从编辑控件获取文本的方法,但每种方法都返回了错误的结果。我从控件获取文本的方式是否有问题,或者我为 maxcount 设置了什么?
>GetDlgItemText
将文本从编辑控件复制到缓冲区中,并返回从对话框控件读取的字符数,而不是解释为数字的文本。要走的方法是首先将 buffer
中的字符串转换为整数,然后将其提供给 output.Format
.例如,您可以使用函数 atoi
.修改后的代码如下所示:
TCHAR buffer[500];
GetDlgItemText(TOCON, buffer, 50);
int input = atoi(buffer);
CString output;
output.Format(L"%x", input);
m_oput.SetWindowText(output);
相关文章:
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 如何将这个std::字符串转换为std::基本字符串
- 如何正确将字符串转换为标准::时间::system_clock::time_point?
- 如何在C++中将十六进制字符串转换为文本数据
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何从字符串转换为双精度*
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- 如何在C++中将 Python 字符串转换为其转义版本?
- 如何在 C++11 中将标准::字符串转换为标准::u32字符串?
- 如何将整数字符串转换为整数的二维向量?
- 使用 "stringstream " 将字符串转换为整数
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 将文件复制到自定义位置,存在字符串转换问题
- 将ANSI C字符串转换为UNICODE
- 如何将节点 V8 字符串转换为 C++ 字符串
- 在C++中将字符串转换为双精度,而无需科学记数法
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 如何在C++中将字符串转换为双精度?
- 将字符串转换为无符号字符数组/字节数组