@ccc35

Как осуществить учето пробелов при вводе строки в C++?

Часть кода:
/* Ввод строки */
void enter (struct list *pp)
{
system("cls");
	printsk ("Введите строку: \n");
   char strk[200];
   scanf("%s",strk);
   insert (_strdup(strk), pp);
}

с gets запись в структуру не осуществляется вообще
scanf не учитывает пробелы из-за чего возникают проблемы
  • Вопрос задан
  • 541 просмотр
Пригласить эксперта
Ответы на вопрос 3
@ccc35 Автор вопроса
часть записи строки в структуру
void insert (char *str, struct list *pp)
{...
   	pp->n=1;
      pp->p[0]=str;
      return;
...}
Ответ написан
Комментировать
@MiiNiPaa
scanf не учитывает пробелы

Вы просто не умеете его готовить. scanf("%[^\n]", strk);

Как вы используете gets (которая кстати удалена из С)? Попробуйте использовать fgets вместо него.
Ответ написан
Комментировать
@Eddy_Em
man getline
man read/fread

Не надо дурацкой scanf пользоваться! А если юзер больше символов введет, чем размер буфера?

А, про fgets я забыл. Просто не использовал ее никогда.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы