如何将空格扫描成一个字符串?
我试图从用户扫描1-3个单词到一个字符串。 但是,只有第一个单词会扫描。
scanf("%s", &area ) ;
当遇到空格时, scanf
停止从流中读取。 你需要使用getline 。
一种可能性是使用扫描集转换而不是字符串转换:
char buffer[256]; scanf("%255[^\n]", buffer);
就像fgets
一样,这会读到行的末尾,而不是停留在第一个空格字符处。
我试图从用户扫描1-3个单词到一个字符串。 但是,只有第一个单词会扫描。
scanf("%s", &area ) ;
当遇到空格时, scanf
停止从流中读取。 你需要使用getline 。
一种可能性是使用扫描集转换而不是字符串转换:
char buffer[256]; scanf("%255[^\n]", buffer);
就像fgets
一样,这会读到行的末尾,而不是停留在第一个空格字符处。