比较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 应用程序中的问题?
iPhone 上的 Cocos2d:使用在单独的类文件中定义的 Sprite