struct egs
{
cstring strs;
}
egs egs1;
CString tmp = "abc123";
egs1.strs = tmp;
在VS2010/MFC项目(使用多字节字符集)中,结构体中定义的其它类型变量都可以执行赋值定义操作,唯独CString类型变量无法进行定义,如上代码块执行会报错。原因是在MFC结构体中会把CString类型变量当作一个四个字节的指针来计算,无法存储字符串。
经过翻阅博客,修改如下可以执行。
struct egs
{
char* strs;
}
egs egs1;
CString tmp = "abc123";
egs1.strs = tmp.GetBuffer();
参考博客:
1.https://blog.csdn.net/qq_23494915/article/details/78732581
2.https://blog.csdn.net/qq_31209383/article/details/51915204