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];
.

È stato utile?

Soluzione

Questo è un bug in Xcode 4.5.Quando la console viene aggiornata, viene rivelato tutto l'ingresso ecolato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top