Pergunta

Eu uso com sucesso o NSFileHandle para ler a entrada do teclado:

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

À medida que o usuário digita, apenas o primeiro caractere da entrada é exibido na tela.Por exemplo, se eu digitar hello, apenas h é ecoado na tela.No entanto, a entrada completa é lida na string.

O comportamento de eco adequado funciona no Xcode 4.2.Atualmente estou usando o Xcode 4.5.

ATUALIZAR

Desistir NSFileHandle por enquanto, tentei usar scanf.No entanto, há o mesmo problema de eco. scanf código:

char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];
Foi útil?

Solução

Este é um bug no Xcode 4.5.Quando o console é atualizado, todas as entradas ecoadas são reveladas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top