문제

NSFileHandle을 사용하여 키보드 입력을 성공적으로 읽었습니다.

NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput];
NSData *inputData = [keyboard availableData];
NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding];

사용자가 입력하면 입력의 첫 번째 문자만 화면에 표시됩니다.예를 들어, 내가 입력하면 hello, 오직 h 화면에 에코됩니다.그러나 전체 입력은 문자열로 읽혀집니다.

적절한 에코 동작은 Xcode 4.2에서 작동합니다.현재 Xcode 4.5를 사용하고 있습니다.

업데이트

포기하다 NSFileHandle 지금은 사용하려고했습니다. scanf.그러나 동일한 에코 문제가 있습니다. scanf 암호:

char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];
도움이 되었습니까?

해결책

이것은 Xcode 4.5의 버그입니다.콘솔이 새로 고쳐지면 에코된 모든 입력이 표시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top