3

Objective 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 に答える