int wmain(int argc, wchar_t* argv[])
{

if(argc == 3 && strcmp(argv[1],"abc"))
错误提示:error C2664: 'strcmp' : cannot convert parameter 1 from 'wchar_t *' to 'const char *'

解决方案 »

  1.   

    又是一个没搞懂unicode编程的.建议看下windows程序设计的相关章节.strcmp(argv[1],"abc") 改为 wcscmp(argv[1],L"abc")或_tcscmp(argv[1],_T("abc"))
      

  2.   

    把strcmp换成wcscmp,你是在Unicode编码的格式下拷贝的
      

  3.   

    strcmp(argv[1],"abc")
    //-->
    wcscmp(argv[1],L"abc")
    //strcmp不支持unicode,也可以用ansi和unicode通用的_tcscmp 
      

  4.   

    也可以用:
    lstrcmp(argv[1],L"abc")
      

  5.   

    if(argc == 3 && _tcscmp(argv[1], _T("abc")))
    另外,如果要忽略大小写用_tcsicmp。
      

  6.   


    int wmain(int argc, wchar_t* argv[])
    {
        if(argc == 3 && wcscmp(argv[1], L"abc"))
            ;
    }
      

  7.   

    相关类似的问题,请发到http://forum.csdn.net/SList/complaint,否则在这里也只有被删除的份儿.
      

  8.   

    CString csTemp=_T("你的字符串"); //所有的对字符串的赋值都是用这样的方式CString theString=_T("This is a test");
    int sizeOfString = (theString.GetLength() + 1);  //使用int 类型的变量能够表示CString的长度LPTSTR  lpsz = new TCHAR[ sizeOfString ];  //这一点也很重要
    _tcscpy_s(lpsz, sizeOfString, theString);使用上面的书写方式,应该就可以在VC平台上,不会出现你遇到的情况。