如何在Objective C中搜索包含空格的字符串?

时间:2011-01-13 08:40:29

标签: objective-c string character-encoding nsstring scanf

我在Objective-C中有一个真正的基本命令行程序,用于搜索用户输入的信息。不幸的是,代码只会读取用户输入的一系列单词中的第一个单词。例如,如果用户输入“Apples很棒”,则仅保留“Apples”(因此稍后会搜索),不包括“ “句子的一部分。

这是我到目前为止所拥有的:

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或字符编码器转换有关,但我似乎无法弄明白。非常感谢任何解决问题的帮助!感谢。

1 个答案:

答案 0 :(得分:1)

scanf为模式"%s"读取单个单词。您可以在循环中使用它。使用fgets从stdin读取可能更好。请参阅herehere