• 3029阅读
  • 0回复

搞了一天了,帮忙看看代码有什么问题? [复制链接]

上一主题 下一主题
离线donixli1314
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-20
dll里的函数:
void WINAPI TestParam (const string& name, const string& psword)
{
  if (0 == name.compare ("Adams") && 0 == psword.compare ("111111"))
  {
    printf ("input correct!\n");
  }
  else
  {
    printf ("input incorrect!\n Please input again.\n");
  }
}

QT程序中的调用函数:
typedef void (WINAPI *Test_API) (const std::string& name, const std::string& psWord);

    QLibrary lib ("Test");
    if (!lib.load ())
    {
      QMessageBox::about (0, "Test", "Not load");
    }

    Test_API      test_api = (Test_API) lib.resolve ("TestParam");

    Q_ASSERT (test_api);


第一中方式:
    const std::string na = "Adams";
    const std::string ps = "111111";

    test_api (na, ps);

第二中方式:
   QString name ("Adams");
     QString psWd ("111111");
  
    const std::string na = name.toStdString();
    const std::string ps = psWd.toStdString();

   test_api (na, ps);

这两种方式的调用都得不到正确的结果。

请问QString转换到string出错了没?
快速回复
限100 字节
 
上一个 下一个