NSFileHandle и scanf не повторяют ввод в Xcode 4.5
Я успешно использую 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];
1 ответ
Решение
Это ошибка в Xcode 4.5. Когда консоль обновляется, все отраженные данные обнаруживаются.