2011-01-13 5 views
1

Ich habe ein echtes Basic-Befehlszeilenprogramm in Objective-C, das nach Benutzerinputed Information sucht. Unglücklicherweise liest der Code nur das erste Wort in einer Reihe von Wörtern, die der Benutzer eingibt. Zum Beispiel, wenn der Benutzer eingibt "Äpfel sind groß", nur "Äpfel" wird beibehalten (und daher später gesucht), mit Ausnahme der "sind groß" Teil des Satzes.Wie wird nach einer Zeichenfolge mit Leerzeichen in Objective C gesucht?

Hier ist, was ich bisher:

char enteredQuery [128]; // array 'name' to hold the scanf string 
NSString *searchQuery; // ending NSString to hold and compare the user inputed data 

NSLog(@"Enter search query:"); 
scanf("%s", enteredQuery); //will read the next line 

searchQuery = [NSString stringWithCString: enteredQuery encoding: NSASCIIStringEncoding]; //converts scanf data into a NSString type 

Ich weiß, es hat bei mir Konvertierung mit scanf oder der Charakter-Encoder zu tun, aber ich kann nicht scheinen, um es herauszufinden. Jede Hilfe bei der Lösung des Problems wird sehr geschätzt! Vielen Dank.

Antwort

1

scanf liest ein einzelnes Wort für das Muster "%s". Sie können es in einer Schleife verwenden. Es könnte besser sein, fgets zu verwenden, um von stdin zu lesen. Siehe here und here.

Verwandte Themen