简体   繁体   中英

How do I scan spaces into a a string?

I am trying to scan in 1-3 words from the user into a string. However, Only the first word will scan.

scanf("%s", &area ) ;

scanf stops reading from the stream when a space is encountered. You need to use getline instead.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM