比较cocos 2D iphone中的两个字符串

Posted

技术标签:

【中文标题】比较cocos 2D iphone中的两个字符串【英文标题】:compare two strings in cocos 2D iphone 【发布时间】:2013-06-19 11:17:52 【问题描述】:

我正在通过 obstInfo->name 获取 ccString。现在我想将它与普通字符串“eagle”进行比较。这意味着我必须将 CCString 与普通字符串进行比较。在 cocos 2D 中如何比较这个。

我通过m_sString 将CCString 转换为字符串并尝试了以下方式,但给出了错误-EXC_bad_access。

 string eg="eagle";
      string na=obstInfo->name->m_sString;
        if( na.compare(eg)==0);
        
      

我到处搜索,但没有找到正确的。

【问题讨论】:

请说明投反对票的原因 我认为objective c中没有称为string的数据类型 strcmp() 呢? @Rao27:它的cpp文件,你知道在cocos 2d中最多使用cpp文件吗 好的,那么你在哪里提到它是 .cpp 文件,而且你的问题不是描述性的。是的,我知道 cocos2d 中可能有 .cpp 文件。 【参考方案1】:

要比较两个字符串,请使用以下代码

NSString *string1 = @"string1";
NSString *string2 = @"string1";


[string1 isEqualToString:string2]; //this will give true.

已编辑: 最近我在 cocos2d-x 和我的队友一起工作,当时我面临一种情况,我必须比较两个字符串,所以我做了如下操作:

CCString *str1 = new CCString("abc");
CCstring *str2 = new CCString("abc");

为了比较两个字符串,我这样做了:

str1.isEqual(str2);

或者你可以这样做:

Str2.isEqual(new CCString("abc"));

【讨论】:

不是.m文件,是cpp文件 是的,我明白了。你态度很好。你知道我在说什么。 这是在 Objective-c 中比较 2 个字符串的正确形式,要将 c++ 代码与 Objective-c 一起使用,您可以使用 .mm 文件扩展名,将文件扩展名更改为 .mm 并尝试此代码

以上是关于比较cocos 2D iphone中的两个字符串的主要内容,如果未能解决你的问题,请参考以下文章

我的第一个 iPhone 的 Cocos2d 应用程序中的问题?

如何使用多个精灵表? cocos2d/iPhone

iPhone 上的 Cocos2d:使用在单独的类文件中定义的 Sprite

cocos2d iPhone中的循环背景

从 iPhone 和 Cocos2d 中的类类型(+)方法访问对象?

适用于iPhone的Cocos2d中的整数对