假设当前有一个函数FunA(const wchar_t *ip,const wchar_t *strpath);
是一个DLL里的函数。
我在MFC程序里设置了两个CString的变量,
strIp,strPath
然后这两个变量都从各自的editText里使用GetDlgItemText()函数取得字符串。
取值是没问题的。都用MessageBox()打印查看过了。
我从MFC程序里传递这两个CString变量到FunA()函数里。
在win7下运行时,两个变量均可以读取到。
但到了win10下,前面的ip可以读取到,后面的strPath就变成了两个空格。
有大神知道是为什么吗?
这两个CString变量没有做任何处理。是直接作为参数传递的。
ip值为:192.168.1.1
strPath值为:C:\Users\h\Pictures\lovewallpaper\122865-106.jpg
可以这样:
CString srcStr(L"C:\\Users\\h\\Pictures");
wchar_t szBuffer[200];
wcscpy_s(szBuffer, srcStr);
FunA(szBuffer); //调用FunA函数
void FunA(wchar_t* szBuffer)
{
//Do Something。
}
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
单斜杠\用两个修饰一下\\