vs2010关于win7/10下wchar_t*字符串的传值问题。

假设当前有一个函数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。
    }

用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

 单斜杠\用两个修饰一下\\