NSFileHandle et scanf ne font pas écho à l'entrée dans Xcode 4.5
-
11-12-2019 - |
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];
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