我以为我自己解决了问题,但是到头来还是没解决
我要问的是VOID FUN(LPWSTR lpstr)
{if (lpstr的内容等於"字串")
{
就执行这段代码
}
}

VOID FUN(LPSTR lpstr)
{if (lpstr的内容等於"string")
{
就执行这段代码
}
}(....)怎么写才不会出错?
我用了各种办法总是程序崩溃

解决方案 »

  1.   

    LPSTR : 
    Pointer to a null-terminated string of 8-bit Windows (ANSI) characters.LPWSTR :
    Pointer to a null-terminated string of 16-bit Unicode characters.
      

  2.   

    http://community.csdn.net/Expert/topic/3753/3753856.xml?temp=.4834711
      

  3.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfcnotes_tn059.asp
      

  4.   

    if (strcmp(lpstr, "字符串")==0)
    {
      ...
    }
      

  5.   

    if (strcmp(lpstr, "字符串")==0)
    {
      ...
    }
    还有比较LPWSTR呢?而且上面这个没用,我之前就试过了,程序还是会当掉,有类似java那种异常判断的机制吗?
    就是如果没问题就执行,如果出错就抛出异常,或是都不要处理-
    问题绝对出在比较这个地方,我程式其他地方都是正确的-只有到比较这个地方会出错-
    lpstr会有被保护而不能判断是什么内容的时候吗?
      

  6.   

    估计是你的lpstr指针有问题吧,最好贴你的原始代码出来而且最开始最好判断一下指针是否为NULL吧,
    if (lpstr == NULL)
      return;如果是LPWSTR,可以使用wcscmp()
    晕,Java的异常还不是从C++学来的?Java是:
    try {
      //
    }
    catch ( )
    {
      //
    }
    finally
    {
      //
    }C++是:
    try {
      //
    }
    catch ( )
    {
      //
    }
    final
    {
      //
    }
      

  7.   

    shines(郭子)说的有道理,正常情况下应该是你的指针的问题!
      

  8.   

    VOID FUN(LPSTR lpstr)
    {
    try

       if (lpstr的内容等於"string")
       {
           就执行这段代码
        }
    };
    catch(...)//捕捉所有异常
    {
        AfxMessageBox("ERROR");
    };
    }
      

  9.   

    的确是null的问题,我太相信传来的值一定不是空了.