NSFileHandle 및 scanf가 Xcode 4.5에서 입력을 에코하지 않습니다.
-
11-12-2019 - |
문제
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의 버그입니다.콘솔이 새로 고쳐지면 에코된 모든 입력이 표시됩니다.
제휴하지 않습니다 StackOverflow