次のコードは、開始するのに役立ちます。inputString
標準入力から読み取り、セミコロンが見つかるまで入力行を変数に収集します。
NSFileHandle *inputFile = [NSFileHandle fileHandleWithStandardInput];
NSMutableString *inputString = [NSMutableString string];
do {
// Read from stdin, check for EOF:
NSData *data = [inputFile availableData];
if ([data length] == 0) {
NSLog(@"EOF");
break;
}
// Convert to NSString, replace newlines by spaces, append to current input:
NSMutableString *tmp = [[NSMutableString alloc] initWithData:data encoding:NSUTF8StringEncoding];
[tmp replaceOccurrencesOfString:@"\n" withString:@" " options:0 range:NSMakeRange(0, [tmp length])];
[inputString appendString:tmp];
// Check for semi-colon:
} while ([inputString rangeOfString:@";"].location == NSNotFound);
NSLog(@"input=%@", inputString);
(このサンプル コードは、入力のどこかにセミコロンがあるかどうかを単純にチェックすることに注意してください。たとえば、セミコロンが文字列に埋め込まれているかどうかはチェックしません。)