📜  printf,sprintf和fprintf有什么区别?

📅  最后修改于: 2021-05-26 00:24:34             🧑  作者: Mango

printf:
printf函数用于在stdout控制台上打印数据的字符流。

句法 :

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

例子 :

// simple print on stdout 
#include
int main()
{
   printf("hello geeksquiz");
   return 0;
}

输出 :

hello geeksquiz

sprintf:
句法:

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

字符串打印函数(而不是在控制台上打印)将其存储在sprintf中指定的char缓冲区中

例子 :

// Example program to demonstrate sprintf()
#include
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);
  
    // The string "sum of 10 and 20 is 30" is stored 
    // into buffer instead of printing on stdout
    printf("%s", buffer);
  
    return 0;
}

输出 :

Sum of 10 and 20 is 30

fprintf:
fprintf用于在文件中打印字符串内容,但不能在stdout控制台上打印。

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

例子 :

#include
int main()
{
    int i, n=2;
    char str[50];
  
    //open file sample.txt in write mode
    FILE *fptr = fopen("sample.txt", "w");
    if (fptr == NULL)
    {
        printf("Could not open file");
        return 0;
    }
  
    for (i=0; i
Input: GeeksforGeeks
       GeeksQuiz
Output :  sample.txt file now having output as 
0. GeeksforGeeks
1. GeeksQuiz

感谢您的阅读,我将尽快更新scanf,fscanf,sscanf。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。