Как искать строку, включая пробелы, в Objective C?

У меня есть реальная базовая программа командной строки на Objective-C, которая ищет введенную пользователем информацию. К сожалению, код будет читать только первое слово из последовательности слов, которые вводит пользователь. Например, если пользователь вводит в поле "Яблоки отличные", сохраняется только "Яблоки" (и, следовательно, поиск выполняется позже), исключая "отличные " часть предложения.

Вот что у меня есть до сих пор:

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

Я знаю, что это связано со мной, использующим scanf или преобразование кодировщика символов, но я не могу понять это. Любая помощь в решении проблемы очень ценится! Спасибо.


person alexcu    schedule 13.01.2011    source источник


Ответы (1)


scanf читает одно слово для шаблона "%s". Вы можете использовать его в цикле. Может быть лучше использовать fgets для чтения со стандартного ввода. См. здесь и здесь.

person ron    schedule 13.01.2011