I am trying to scan in 1-3 words from the user into a string. However, Only the first word will scan.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
scanf("%s", &area ) ;
scanf
stops reading from the stream when a space is encountered. You need to use getline instead.
回答2:
One possibility is to use a scan set conversion instead of a string conversion:
char buffer[256];
scanf("%255[^\n]", buffer);
Much like fgets
, this reads up to the end of the line rather than stopping at the first white-space character.