Подавление пробелов при вводе через scanf - PullRequest
0 голосов
/ 23 апреля 2009

Для подавления новой строки мы используем% [^ \ n]. Можете ли вы предложить, какой формат должен быть пропущен во входных данных, т. Е. Если мы должны ввести «hallo stackflow». Я знаю fgets и get, но я не хочу их использовать, они создают проблему.

Ответы [ 2 ]

1 голос
/ 23 апреля 2009

Я думаю, что вы имеете в виду «включить пробелы». Использование:

#define str(x) #x
#define xstr(x) str(x)
/* ... */
char buf[ SIZE + 1 ] = "";
int rc = scanf("%" xstr(SIZE) "[^\n]%*[^\n]", buf);
/*you may need the return value later on, if reading
  in multiple strings with whitespaces in a loop */
if (!feof(stdin)) 
     getchar(); /* consume newline */
0 голосов
/ 23 апреля 2009

Поставьте пробел в формате scanf ; который подавляет пробелы.

...