scanf



Автор Kosterio задал вопрос в разделе Другие языки и технологии

scanf() и получил лучший ответ

Ответ от Ra[гуру]
scanf() возвращает число успешно прочитанных элементов форматной строки, а не число байтов. В случае файловой ошибки или конца файла возвращается -1.
Т. о. scanf("%d", &a) может вернуть значение 1 в случае успешного чтения, 0 в случае ошибки формата (вместо числа введено что-то другое) , и -1 если ввести символ конца файла или иной ошибки ввода вывода.
Стоит заметить, что ввод типа "123abc" будет считаться корректным и в данном случае прочитается число 123, а остаток abc будет прочитан следующими функциями ввода.

Ответ от Василий Кушнир[гуру]
Возвращаемое значение функции - количество успешно прочитаных байт. Соответственно, если вводимый символ не число - вернет либо 0 либо -1 (точно не помню - давно не программил на СИ) .
А почему бы не считывать все подряд, а потом своей функцией обрабатывать результат? Она тебе пропарсит принятое и сможет рассказать цифра или символ считан, если символ, то верхний или нижний регистр, латынь или кириллица - в общем накрапай один раз такую универсальную функцию и у верен - будешь к ней обращаться не один раз.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: scanf()
спросили в Музыка
mnme nujen tekst Schnappi das kleine krokodil
Ich bin Schnappi das kleine Krokodil,
komm aus ħypten das liegt direkt am Nil.
Zuerst
подробнее...
спросили в Aerosmith
Помогите разобраться в коде (тут защищённый целочисленный ввод). Как ТУТ работают ф-ции sscanf,scanf_s ?
Описание.

Функция sscanf читает данные из buffer в расположение, за-
даваемое
подробнее...
спросили в Stdio h
Си. scanf(). не пойму почему не считываются значения. Подскажите, пожалуйста.
Проверьте соответствие форматной строки и типов данных, посмотрите настройки локали, обратите
подробнее...
спросили в Техника
scanf и printf приемущества и недостатки
В каком смысле преимущества и недостатки? По сравнению друг с другом или по сравнению с другими
подробнее...

Не могу понять как работает scanf(). Си.
Использовать подобные функции не есть хорошо ибо как видишь глюки начинаются) И почему нельзя
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

error C4996: \'scanf\': , Visual C++. где ошибка?
В самом начале CPP файла (до всех #include) определить макрос _CRT_SECURE_NO_WARNINGS, т. е. ,
подробнее...

Как ввести строку с пробелами,используя scanf в Си,не используя gets?
Есть такая идея) , но нужно знать точно количество слов и их длину.. .
char
подробнее...
спросили в Музыка Reborn!
У кого есть текст песни Schnappi - Das Kleine Crocodile
Ich bin Schnappi, das kleine Krokodil.
Komm’ aus Дgypten, das liegt direkt am Nil.
Zuerst
подробнее...
спросили в Музыка Крокодил
Где можно найти текст песни schnappi(её крокодил поёт))))
её не крокодил поет, а маленькая немецкая девочка. а текст - вот он
Ich bin Schnappi, das
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*