NSFileHandle e Scanf non echeggia in ingresso in Xcode 4.5
-
11-12-2019 - |
Domanda
Utilizzare con successo NSFileHandle per leggere l'ingresso della tastiera:
NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput];
NSData *inputData = [keyboard availableData];
NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding];
.
Come tipo utente, solo il primo carattere di input viene echeggiato sullo schermo.Ad esempio, se digito hello
, solo h
viene echeggiato sullo schermo.Tuttavia, l'ingresso completo viene letto nella stringa.
Il comportamento eco corretto funziona in XCode 4.2.Attualmente sto usando Xcode 4.5.
Aggiornamento
Arrendiamo su NSFileHandle
per ora, ho provato ad usare scanf
.Tuttavia c'è la stessa questione eching.scanf
Codice:
.char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];
Soluzione
Questo è un bug in Xcode 4.5.Quando la console viene aggiornata, viene rivelato tutto l'ingresso ecolato.