在if语句中的c ++字符串比较

马切洛·基拉兹(Marcello Chiurazzi)

我对一个简单的c ++函数有疑问。这是我的cpp文件:

#include <string>
#include <iostream>

#include <stdio.h>
#include <ros/ros.h>
#include <json_prolog/prolog.h>

using namespace std;
using namespace json_prolog;

int main(int argc, char *argv[])
{
  ros::init(argc, argv, "Knives");

  Prolog pl;
char M[]="drawer";
cout<<M<<endl;
if(strcmp(M,"knife")==0)
{
    string  q= "rdfs_individual_of(M, 'http://knowrob.org/kb/knowrob.owl#TableKnife')";



PrologQueryProxy bdgs = pl.query(q);

        cout<< endl;

  for(PrologQueryProxy::iterator it=bdgs.begin(); it != bdgs.end(); it++)
  {
    PrologBindings bdg = *it;
    cout << "Knives individuals= "<< bdg["M"] << endl;
  }  

    cout<< endl<< endl;
}


if(strcmp(M,"drawer")==0)
{
    string  q= "rdfs_individual_of(M, 'http://knowrob.org/kb/knowrob.owl#Drawer')";

  PrologQueryProxy bdgs = pl.query(q);

        cout<< endl;

  for(PrologQueryProxy::iterator it=bdgs.begin(); it != bdgs.end(); it++)
  {
    PrologBindings bdg = *it;
    cout << "Drawer individuals= "<< bdg["M"] << endl;
  }  

    cout<< endl<< endl;
}

return 0;
}

此代码与xml文件连接以对其进行解析。如果我编译它工作,并且我没有问题。现在我必须更改它,因为我不想定义变量char M,但是我想在输入中给出它。问题是我改变了:

char M[]=....

和:

char M;
cin>>M;

我对从char到const char的转换有疑问[-fpermissive]

我该如何解决?

理查德·霍奇斯

尝试这个:

std::string M;
cin >> M;

替换这样的行:

if(strcmp(M,"drawer")==0)

有了这个:

if (M == "drawer" )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何比较if语句中的字符串

来自分类Dev

在相同的if语句中比较字符串和整数

来自分类Dev

比较WHERE语句中的字符串(变量)

来自分类Dev

我如何比较 if 语句中的字符串?

来自分类Dev

在Linqpad c#语句中,如何比较字符串是否大于(版本> 4.0.38000)

来自分类Dev

字符串与C ++的比较

来自分类Dev

比较字符串,C ++

来自分类Dev

尝试在C ++中的if语句中定义字符串

来自分类Dev

在 SQL 语句中转义或使用 C 字符串

来自分类Dev

if语句做什么?(字符串比较)

来自分类Dev

如果语句字符串比较

来自分类Dev

字符串比较和if语句

来自分类Dev

C ++ if语句比较字符串不起作用

来自分类Dev

C++ 中的字符串与 IF 语句的比较?

来自分类Dev

解析字符串,创建单个字符串,并将其与if语句中的值进行比较?

来自分类Dev

字符串文字的C ++比较

来自分类Dev

递归比较字符串的函数-C ++

来自分类Dev

将字符串与C比较

来自分类Dev

C strcmp中的字符串比较

来自分类Dev

无法在PHP的IF语句中比较两个字符串

来自分类Dev

如何比较是否在输入变量的语句中找不到多个字符串?

来自分类Dev

如何在if / else语句中将变量与文本字符串而不是整数进行比较?

来自分类Dev

在if语句中比较字符串时如何修复“不匹配'operator=='”

来自分类Dev

OCaml:在IF语句中返回字符串

来自分类Dev

在反应 if 语句中拆分字符串

来自分类Dev

在 select 语句中连接字符串

来自分类Dev

如何在同一条语句中创建比较布尔值和字符串的if语句?

来自分类Dev

C ++比较字符串最多为“%”个字符

来自分类Dev

在If语句VBA中进行字符串比较

Related 相关文章

热门标签

归档