Question

J'utilise avec succès NSFileHandle pour lire la saisie au clavier :

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

Au fur et à mesure que l'utilisateur tape, seul le premier caractère de la saisie est affiché à l'écran.Par exemple, si je tape hello, seulement h est répercuté sur l'écran.Cependant, l'entrée complète est lue dans la chaîne.

Le comportement d'écho approprié fonctionne dans Xcode 4.2.J'utilise actuellement Xcode 4.5.

MISE À JOUR

Abandonner NSFileHandle pour l'instant, j'ai essayé d'utiliser scanf.Cependant, il y a le même problème d'écho. scanf code:

char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];
Était-ce utile?

La solution

Il s'agit d'un bug dans Xcode 4.5.Lorsque la console est actualisée, toutes les entrées en écho sont révélées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top