3

我在比较目标 C 中的 NSString 时遇到了一些麻烦。我查看了苹果文档,似乎有一个函数返回一个名为 isEqualToString 的布尔值。但是,该语句永远不会执行。

NSString* randomCombo = @"rypo";

NSFileHandle* kbd = [NSFileHandle fileHandleWithStandardInput];
NSData* inputData = [kbd availableData];
NSString* line = [[NSString alloc]initWithData : inputData encoding : NSUTF8StringEncoding];
NSLog(@"You entered: %@", line);
NSLog(@"The string to match is: %@", randomCombo);

if([line isEqualToString : randomCombo]){
    NSLog(@"you win.");
}

我需要对 NSString、randomCombo 进行编码吗?谁能帮我弄清楚这里的问题是什么?

4

1 回答 1

3

当您return用来结束输入时,会在字符串中附加一个换行符,而另一个字符串没有。

您需要使用control-终止输入D,这只是关闭管道而不开始新行,或者'\n'之后修剪字符串。

于 2013-10-04T00:14:41.320 回答