printf、fprintf、sprintf三个函数的区别

1.printf

函数原型:int printf(const char *format, ...) ;

format 是字符串,包含了要被写入到标准输出 stdout 的文本

功能:发送格式化输出到标准输出 stdout。

2.fprintf

函数原型:int fprintf(FILE *stream, const char *format, ...)

stream 是指向 FILE 对象的指针,该 FILE 对象标识了流。format 是 C 字符串,包含了要被写入到流 stream 中的文本

功能:根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件。因此fprintf()可以使得信息输出到指定的文件。

example1:

#include <stdio.h>
#include <stdlib.h>

int main()
{
   FILE * fp;

   fp = fopen ("file.txt", "w");
   fprintf(fp, "%s %s %s %d", "We", "are", "in", 2018);
   
   fclose(fp);
   
   return(0);
}

创建文件 file.txt,它的内容如下:We are in 2018

 3.sprintf

函数原型: int sprintf(char *str, const char *format, ...);

str 是指向一个字符数组的指针,该数组存储了 C 字符串。format 是字符串,包含了要被写入到字符串 str 的文本。

功能:发送格式化输出到 str 所指向的字符串。

example2:

#include <stdio.h>
#include <math.h>  //for M_PI

int main()
{
   char str[80];

   sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   
   return(0);
}

结果:Pi 的值 = 3.141593

参考:菜鸟教程

猜你喜欢

转载自www.cnblogs.com/bencai/p/9145458.html