Ric*_*ick 0 iphone objective-c strncmp
我正在尝试将来自iphone应用程序的用户文本输入与我声明的静态数组中的文本进行比较.它总是返回"真实",即使文本不同.执行strncmp后,我会显示两个文本字段.对于人眼来说,它们就是我所期待的领域.我返回到屏幕的debugmsg显示了我期望的值,但比较始终是真实的.任何建议,将不胜感激.谢谢.
if (strncmp(SymbolEntered.text,
[NSString stringWithCString:elements_table2[idx].element_symbol],2)==0)
{
DebugMsg.text = [NSString stringWithCString:"Correct answer"];
}
else
{
DebugMsg.text = [NSString stringWithCString:"Incorrect!"];
}
DebugMsg2.text = SymbolEntered.text;
DebugMsg3.text = [NSString stringWithCString:elements_table2[idx].element_symbol];
Run Code Online (Sandbox Code Playgroud)
你真的应该这样做NSString,它实现了大量的比较方法,而不是CString(你为什么使用CString?).strcmp不起作用NSString.
if([SymbolEntered.text isEqualToString:[NSString stringWithCString:elements_table2[idx].element_symbol]]) {
DebugMsg.text = @"Correct answer";
} else {
DebugMsg.text = @"Incorrect answer";
}
Run Code Online (Sandbox Code Playgroud)
而不是:
DebugMsg.text = [NSString stringWithCString:"Correct answer"];
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
DebugMsg.text = @"Correct answer";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2167 次 |
| 最近记录: |