如何在 C++ 中将 std::string 显示到 CEdit 中
How to display std::string into CEdit in C++
我有一个用C++编写的MFC项目,我想在CEdit控件中显示一些文本。到目前为止,我尝试了这个:
MFCApplication1Dlg.h
...
private:
static CEdit m_progress;
public:
static void setProgress(std::string message);
...
MFCApplication1Dlg.cpp
...
void CMFCApplication1Dlg::setProgress(std::string message)
{
m_progress.SetWindowTextW((LPCTSTR)message.c_str());
}
void logMessage(std::string message)
{
if(logFile.is_open())
{
logFile << message;
logFile.flush();
CMFCApplication1Dlg::setProgress(message);
}
}
...
当我编译时,我有这个错误:
error LNK2001: unresolved external symbol "private: static class CEdit CMFCApplication1Dlg::m_progress" (?m_progress@CMFCApplication1Dlg@@0VCEdit@@A)
谁能告诉我这个错误是什么,我如何在那个CEdit中显示消息?
您必须在 cpp 文件中定义静态成员:
CEdit CMFCApplication1Dlg::m_progress;
在标头中,它只是声明,而不是定义。
另外,我希望SetWindowTextW
采用wstring::c_str()
参数,而不是string::c_str()
。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- cppcheck在const std::string[]上引发警告
- 程序崩溃并显示"std::out_of_range"错误
- 两个数组,int 和 string,如何显示带有对应 int 的字符串?
- Visual Studio 无法显示 std::string 的值
- 与 string.size() 比较时 int 的符号性显示警告
- String.length() 显示不正确的值
- 为什么在类构造函数方法中,std::string 参数在调试时显示不同的结果?
- QTCreator调试器不显示STD :: String的值
- 无法使用String.Format在WPF中显示版本字符串
- 类显示管理器:矢量<string>
- qDebug() 不显示 const std::string&
- 如何在 C++ 中将 std::string 显示到 CEdit 中
- c++将带前导零的Int保存为String,而不显示它们
- 为什么这段将 std::array 转换为 std::string 的代码不显示任何内容?
- 为什么在c++中,当等价相同的文本值时,char和string数据类型显示不同的结果?