fscanf和fprintf

fscanf(fp,"%d%d",&a,&b);
是不是把fp中的a,b两个变量找出来并在显示器上显示呀?
fprintf(fp,"%d %d",x,y);
是不是输入x和y并把他们存储在fp文件上?

// 从文件句柄fp中获取2个int型数据,分别赋值给a,b
fscanf(fp,"%d%d",&a,&b);

// 将a,b的值写入文件句柄fp所指的文件,"%d %d"是书写格式.
fprintf(fp,"%d %d",x,y);

二者类似于不带前缀f的scanf和printf,只是因为前者是和文件进行交互,而后者是和终端进行交互.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-01

  int fscanf(FILE*stream, constchar*format, [argument...]):

  FILE *stream:文件指针

  char *format:输入格式

  [argument...]:附加参数列表


  fscanf()的功能是从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。fgets的区别在于,fgets遇到空格不结束。返回值为整形,含义为读入的参数的个数,失败则返回EOF(-1)。


  案例代码:

//...
#include <stdio.h>

int main(void) {
    FILE *FSPOINTER;
    char STRBUFF[128];
    //...
    FSPOINTER = fopen("HELLO.TXT", "r"); //打开文件
    //...
    fscanf(FSPOINTER, "%s", STRBUFF); //从文件中读取字符串
    //...
    return 0;
};
//若HELLO.TXT中的开头字符串为HELLO,则STRBUFF中为HELLO

 


  int fprintf (FILE* stream, const char*format, [argument])

  FILE*stream:文件指针

  const char* format:输出格式

  [argument]:附加参数列表


  fprintf()的功能是格式化输出到一个流/文件中函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值。


  案例代码:

//...
#include <stdio.h>

int main(void) {
    FILE *FSPOINTER;
    char STRBUFF[16] = "Hello World."
    //...
    FSPOINTER = fopen("HELLO.TXT", "w+"); //创建文件
    //...
    fprintf(FSPOINTER, "%s", STRBUFF); //输出字符串至文件
    //...
    return 0;
};
//输出至文件HELLO.TXT:Hello World

第2个回答  2015-10-08
fprintf函数:
头文件:#include
定义函数:int fprintf(FILE * stream, const char * format, ...);
函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束('\0')为止。
返回值:关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.
范例
#include
main()
{
int i = 150;
int j = -100;
double k = 3.14159;
fprintf(stdout, "%d %f %x \n", j, k, i);
fprintf(stdout, "%2d %*d\n", i, 2, i);
}
执行:
-100 3.141590 96
150 150
fscanf函数:
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。

用 法:int fscanf(FILE *stream, char *format,[argument...]);
int fscanf(文件指针,格式字符串,输入列表);
  for example:
  FILE*fp;
  chara[10];
  intb;
  doublec;
  fscanf(fp,"%s%d%lf",a,&b,&c)
  返回值:整型,数值等于[argument...]的个数
其中的format就是相当于正则表达式中的格式,即用什么样的格式来分隔文件中的信息。
相似回答