Рубрики

В чем разница между printf, sprintf и fprintf?

Printf:
Функция printf используется для печати символьного потока данных на консоли stdout.

Синтаксис:

 int printf(const char* str, ...); 

Пример :

// простая печать на стандартный вывод
#include<stdio.h>

int main()

{

   printf("hello geeksquiz");

   return 0;

}

Выход :

 hello geeksquiz

Sprintf:
Синтаксис:

int sprintf(char *str, const char *string,...); 

Функция строковой печати вместо печати в консоли сохраняет ее в буфере символов, указанном в sprintf

Пример :

// Пример программы для демонстрации sprintf ()
#include<stdio.h>

int main()

{

    char buffer[50];

    int a = 10, b = 20, c;

    c = a + b;

    sprintf(buffer, "Sum of %d and %d is %d", a, b, c);

  

    // Строка "сумма 10 и 20 - 30" сохранена

    // в буфер вместо печати на стандартный вывод

    printf("%s", buffer);

  

    return 0;

}

Выход :

Sum of 10 and 20 is 30

fprintf:
fprintf используется для печати содержимого строки в файле, но не на консоли stdout.

int fprintf(FILE *fptr, const char *str, ...);

Пример :

#include<stdio.h>

int main()

{

    int i, n=2;

    char str[50];

  

    // открыть файл sample.txt в режиме записи

    FILE *fptr = fopen("sample.txt", "w");

    if (fptr == NULL)

    {

        printf("Could not open file");

        return 0;

    }

  

    for (i=0; i<n; i++)

    {

        puts("Enter a name");

        gets(str);

        fprintf(fptr,"%d.%s\n", i, str);

    }

    fclose(fptr);

  

    return 0;

}

Input: GeeksforGeeks
       GeeksQuiz
Output :  sample.txt file now having output as 
0. GeeksforGeeks
1. GeeksQuiz

Спасибо за чтение, я скоро обновлюсь с scanf, fscanf, sscanf Следите за обновлениями.

Эта статья предоставлена Ванкаялой Карунакаром . Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

В чем разница между printf, sprintf и fprintf?

0.00 (0%) 0 votes