Будинки Розвиток Що таке scanf? - визначення з техопедії

Що таке scanf? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає Scanf?

У мові програмування на C, scanf - це функція, яка зчитує відформатовані дані зі stdin (тобто стандартний потік вводу, який зазвичай є клавіатурою, якщо не перенаправлена), а потім записує результати у наведені аргументи.

Ця функція належить до сімейства функцій, які мають однаковий функціонал, але відрізняються лише джерелом даних. Наприклад, fscanf отримує свій вхід з потоку файлів, тоді як sscanf отримує свій вхід з рядка.

Техопедія пояснює Сканф

Функція scanf має такий прототип / підпис:

int scanf (формат const char *, …);

де

  • int (integer) - тип повернення
  • формат - це рядок, що містить специфікатори типів (див. нижче)
  • "…" (еліпсис) вказує на те, що функція приймає змінну кількість аргументів; кожен аргумент повинен бути адресою пам'яті, куди записаний перетворений результат

Простий специфікатор типу складається з відсотка (%) символу та альфа-символу, який вказує тип. Нижче наведено кілька прикладів специфікаторів типу, розпізнаних scanf:

  • % c - символ
  • % d - ціле підписане число
  • % x - Непідписане ціле число у шістнадцятковому форматі
  • % f - плаваюча точка
  • % s - Рядок

Функція працює, читаючи введення зі стандартного вхідного потоку, а потім сканує вміст "формату" на будь-які специфікатори формату, намагаючись відповідати двом. Після успіху функція записує результат у аргументи, що передаються.

Наприклад, якщо функція викликає

scanf ("% c% d", & var1, & var2);

а користувач набере "a1", функція запише "a" в "var1" і "1" в "var2". Якщо функція дзвінка, однак, є

scanf ("% x", & var);

той же вхід буде прочитаний як шістнадцяткове число "a1", яке становить 161 у десятковій частині.

Функція повертає таке значення:

  • > 0 - кількість елементів, які успішно перетворені та призначені.
  • 0 - жоден елемент не призначений.
  • <0 - Помилка читання або досягла кінцевого файлу (EOF) до того, як було зроблено будь-яке призначення.
Що таке scanf? - визначення з техопедії