Minoru 28.10.2012 15:48 micropost

А как мне проверить, что scanf() дочитал строку до конца? Например, я делаю scanf("%i", ...), а пользователь вводит 123abc — 123 прочитается, а abc останется на вводе до следующего scanf() (или read(), или что там будет читать ввод). Как убедиться, что такого не случиться?

1. gds 28.10.2012 15:55

лучше сделать fgets, на который натравить sscanf(str, "%i\n") (но не слишком кроссплатформенно это; на венде может поломаться, но там надо просто посмотреть, что fgets возвращает).

2. topulp 28.10.2012 15:55

%c, не? может %s?

3. Minorugds /1 28.10.2012 16:10 antaeus

О, мне @matimatik на bnw то же самое советовал. Есть ещё вариант с %*s в конце шаблона, оно полаконичней. В любом случае, спасибо!

Do you really want to delete ?