Цитата(demiurg_spb @ Aug 24 2011, 07:43)


...оторви мне чего-нибудь, укуси меня за... (с) "Несчастный случай".
«Та нє»™, тут скорее «поднимите мне веки» :-)
Цитата(demiurg_spb @ Aug 24 2011, 07:43)

Ну так жешь нужно вспомнить было про возможность задать ограничение на длину строки, а если тупо "%s", то всегда пожалуйста.
Да там по вводу строк ещё и ограничить набдор символов можно кроме ширины. Только без
s уже:
"%4[0-9]" -- максимум 4 цифры
"%4[^0-9]" -- максимум 4 не-цифры
И ввод символа
%c тоже позволяет задать ширину, тогда внутри такого поля '\n' идёт на правах символа, а не разделителя, как для
%sКод
#include <stdio.h>
char str[5];
int main()
{
str[4] = 0;
scanf("%4c", str); printf("[%s]\n", str);
scanf("%4c", str); printf("[%s]\n", str);
scanf("%4c", str); printf("[%s]\n", str);
}
Цитата
qw
r01234567
[qw
r]
[0123]
[4567]
Вот потому полновесный scanf такой толстый. Умеет много. Не всегда нужного.