Ц ++ сцанф - Ц ++ стандардна библиотека

Функција сцанф () у језику Ц ++ користи се за читање података са стдина.

прототип сцанф ()

 инт сцанф (формат цонст цхар *,…);

scanf()Функција чита податке из stdinпродавнице и вредности у одговарајуће варијабле.

Дефинисано је у заглављу датотеке.

параметри сцанф ()

  • format: Показивач на низ знакова завршених нулом који одређује како се чита улаз. Састоји се од спецификатора формата који почињу са%.

    Низ формата има следеће делове:

    • Non whitespace charactersосим% од којих сваки троши по један идентичан знак из улазног тока. То може проузроковати неуспех функције ако се следећи знак у току не упореди са једнаким.
    • Whitespace character: Сви узастопни размаци се третирају као појединачни размаци. Даље, ' н', ' т' и '' сматрају се истим.
    • Conversion specification: Следи следећи формат:
      • Иницијални% знак који специфицира почетак
      • Опционални * који се назива знак за сузбијање задатка. Ако је присутан овај знак, сцанф () не додељује резултат ниједном аргументу који прима.
      • Опционални позитивни целобројни број који специфицира максималну ширину поља. Одређује максималан број знакова које сцанф () сме да потроши приликом извршавања претворбе одређене тренутном спецификацијом претворбе.
      • Опционални модификатор дужине који специфицира величину аргумента који прима.
      • Спецификатор формата конверзије.
        Спецификатор формата Опис
        % Поклапа се са дословним%
        ц Поклапа се са једним знаком или више знакова. Ако је ширина дефинисана, тачно се подудара са знаковима ширине.
        с Подудара се са узастопним знаковима који нису размаци. Ако је ширина дефинисана, тачно се подудара са знаковима ширине или док се не нађе први размак.
        (комплет) Подудара се са празним низом знакова из датог скупа знакова. Ако је присутан на почетку скупа, онда се подударају сви знакови који нису у скупу.
        д Поклапа се са децималним целим бројем.
        и Поклапа се са целим бројем.
        о Поклапа се са непотписаним осминским целим бројем.
        Кс или к Подудара се са непотписаним хексадецималним целим бројем.
        у Подудара се са непотписаним децималним целим бројем.
        А или а, Е или е, Ф или ф, Г или г Подудара се са бројем са покретном зарезом.
        н Приказује број до сада прочитаних знакова.
        стр Поклапа се са дефинисаном имплементацијом секвенцом знакова која дефинише показивач.
    Дакле, општи формат спецификатора формата је: %(*)(width)(length)specifier
  • …: Остали додатни аргументи за примање података. Јављају се у низу према спецификатору формата.

сцанф () Повратна вредност

  • Ако је успешна, scanf()функција враћа број успешно примљених аргумената.
  • Ако се догоди неуспех подударања пре него што је додељен први аргумент који прима, враћа нулу.
  • Ако се грешка у улазу догоди пре него што је додељен први аргумент који се прима, враћа се ЕОФ.

Пример: Како функционише функција сцанф ()

 #include int main () ( FILE *fp; char name(50); int age; fp = fopen("example.txt","w"); fprintf(fp, "%s %d", "Tim", 31); fclose(fp); fp = fopen("example.txt","r"); scanf(fp, "%s %d", name, &age); fclose(fp); printf("Hello %s, You are %d years old", name, age); return 0; )

Када покренете програм, могући излаз ће бити:

 Здраво, Тим, имаш 31 годину

Занимљиви Чланци...