自学笔记2026-07-18-1 📅 2026/7/19 5:25:07 代码CEdit* p1 (CEdit*)GetDlgItem(IDC_EDIT1); CEdit* p2 (CEdit*)GetDlgItem(IDC_EDIT2); CEdit* p3 (CEdit*)GetDlgItem(IDC_EDIT3); CString Buffer1, Buffer2; p1-GetWindowTextW(Buffer1); p2-GetWindowTextW(Buffer2); if (Buffer1.IsEmpty()) { std::wstring str Buffer1.GetBuffer(); str L比例值为空 str; MessageBoxW(str.c_str(), L错误, MB_OK); return; } if (Buffer2.IsEmpty()) { std::wstring str Buffer2.GetBuffer(); str L输入金币值为空 str; MessageBoxW(str.c_str(), L错误, MB_OK); return; } std::wstring str1 Buffer1.GetBuffer(); double value1 std::stold(str1); std::wstring str2 Buffer2.GetBuffer(); double value2 std::stold(str2); double value3 value2 / (value1 * 10000); p3-SetWindowTextW(std::to_wstring(value3).c_str());实现的功能便于自己的一个小工具DNF金币换算得到RMB遇见的问题1.如何获取编辑框的内容使用GetWindowTextW(参数)获取编辑框的内容参数是一个缓存区格式是Cstring遇见的问题2.Cstring如何转换为数值第一步用GetBuffer()先将Cstring转换为std::wstring示例std::wstring str1 Buffer1.GetBuffer();第二步用std::stold()将std::wstring转换为double示例double value1 std::stold(str1);遇见的问题3.std::wstring如何变为wchar_t字符串使用.c_str()转换。示例str.c_str()遇见的问题4.如何判断 Cstring是不是一个无效值。这里我之前使用了nullptr和NULL当条件来判断这是失败的。必须用IsEmpty()来判断一个Cstring是不是无效值示例if (Buffer1.IsEmpty())