fscanf函数

来源:互联网 发布:php开发培训班 编辑:程序博客网 时间:2024/05/17 03:43

函数定义:

int fscanf( FILE *stream, const char *format [, argument ]... );
下面是csdn的例子:
/* FSCANF.C: This program writes formatted * data to a file. It then uses fscanf to * read the various data back from the file. */#include <stdio.h>FILE *stream;void main( void ){   long l;   float fp;   char s[81];   char c;   stream = fopen( "fscanf.out", "w+" );   if( stream == NULL )      printf( "The file fscanf.out was not opened\n" );   else   {      fprintf( stream, "%s %ld %f%c", "a-string",                65000, 3.14159, 'x' );      /* Set pointer to beginning of file: */      fseek( stream, 0L, SEEK_SET );      /* Read data back from file: */      fscanf( stream, "%s", s );      fscanf( stream, "%ld", &l );      fscanf( stream, "%f", &fp );      fscanf( stream, "%c", &c );      /* Output data read: */      printf( "%s\n", s );      printf( "%ld\n", l );      printf( "%f\n", fp );      printf( "%c\n", c );      fclose( stream );   }}Outputa-string650003.141590x

下面给出一个例子,结合相似的几个函数操作。(也是文件的一般操作)

1 写操作函数
#include<stdio.h>      main()      {           char *s="That's good news");  /*定义字符串指针并初始化*/           int i=617;                    /*定义整型变量并初始化*/           FILE *fp;                     /*定义文件指针*/           fp=fopne("test.dat", "w");    /*建立一个文字文件只写*/           fputs("Your score of TOEFLis", fp);/*向所建文件写入一串字符*/           fputc(':', fp);               /*向所建文件写冒号:*/           fprintf(fp, "%d\n", i);       /*向所建文件写一整型数*/           fprintf(fp, "%s", s);         /*向所建文件写一字符串*/           fclose(fp);                   /*关闭文件*/      } 

执行以后:
test.dat 为一个文件:
里面内容为:
Your score of TEFLis:617
That's good news


2 读操作函数

<span style="font-size:14px;">#include<stdio.h>      main()      {           char *s, m[20];           int i;           FILE  *fp;           fp=fopen("test.dat", "r");    /*打开文字文件只读*/           fgets(s, 24, fp);             /*从文件中读取23个字符*/           printf("%s", s);              /*输出所读的字符串*/           fscanf(fp, "%d", &i);         /*读取整型数*/           printf("%d", i);              /*输出所读整型数*/           putchar(fgetc(fp));           /*读取一个字符同时输出*/           fgets(m, 17, fp);             /*读取16个字符*/           puts(m);                      /*输出所读字符串*/           fclose(fp);                   /*关闭文件*/           getch();                      /*等待任一键*/      } </span>


执行效果如下:
  Your score of TOEFL is: 617
    That's good news 


12 0
原创粉丝点击