fscanf函数

函数定义:

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 );
   }
}

Output
a-string
65000
3.141590
x

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

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

时间: 2024-10-07 21:04:01

fscanf函数的相关文章

fscanf函数和fprintf函数、fgets函数和fputs函数、fread函数和fwrite函数

1. fscanf 函数和 fprintf 函数 1.1 fscanf 函数 fscanf 函数只能从文本文件中按格式输入.fscanf 函数和 scanf 函数相似,只是输入的对象是磁盘上文本文件的数据.函数的调用形式如下: fscanf( 文件指针,格式控制字符串,输入项表 ); 例如,若文件指针 fp 指向一个已打开的文本文件,a.b 分别为整型变量,则以下语句从 fp 所指的文件中读入两个整数放入变量 a 和 b 中: fscanf( fp, "%d%d", &a, &

《用格式化(fprintf和fscanf函数)的方式读写文件》

//用格式化(fprintf和fscanf函数)的方式读写文件 [用格式化的方式向文件中写入数据]#include<stdio.h>#include<stdlib.h> int main(){ int i=12,f=3; FILE *fp; if((fp=fopen("f:\\FILE_1\\file_4.txt","w"))==NULL) { printf("can't open file\n"); exit(0); }

fscanf函数用法及注意事项

/*FSCANF.C:This program writes formatted data to afile.It then uses fscanf to read the various databackfromthefile.*/ #include <stdio.h> FILE *stream; int main(void) { long l; float fp; char s[81]; char c; stream=fopen("fscanf.out","w

Matlab之print,fprint,fscanf,disp函数

print: print函数可以把函数图形保存成图片: [plain] view plaincopy minbnd = -4*pi; maxbnd = 4*pi; t = minbnd:0.1*pi:maxbnd; plot(t, sin(t), 'g', 'Linewidth', 2); line([minbnd, maxbnd], [0, 0]); %绘制x轴 axis([-10, 10, -2, 2]) %定义显示的坐标区间:x在(-10,10)之间,y在(-2,2)之间 grid on;

fscanf()函数具体解释

曾经解析有规律的文件的时候要么用正則表達式,要么就是傻傻的自己敲代码来解析有规律的文件.今天突然发现c的库函数中有一个现成的能够解析有规律的文件的函数,就是fscanf()函数.哎 曾经自己做了这么多无用功,在这里具体解析一下fscanf函数: fscanf()函数(有点像正則表達式): 功 能: 从一个流中运行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束. 用 法:int fscanf(FILE *stream, char *format,[argument...]); in

fscanf()函数详解【转】

本文转载自:http://blog.csdn.net/liangxanhai/article/details/8026496 以前解析有规律的文件的时候要么用正则表达式,要么就是傻傻的自己写程序来解析有规律的文件.今天突然发现c的库函数中有一个现成的可以解析有规律的文件的函数,就是fscanf()函数.哎 以前自己做了这么多无用功,在这里详细解析一下fscanf函数: fscanf()函数(有点像正则表达式): 功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结

Matlab之print,fprint,fscanf,disp函数(转)

print: print函数可以把函数图形保存成图片: minbnd = -4*pi; maxbnd = 4*pi; t = minbnd:0.1*pi:maxbnd; plot(t, sin(t), 'g', 'Linewidth', 2); line([minbnd, maxbnd], [0, 0]);    %绘制x轴 axis([-10, 10, -2, 2])             %定义显示的坐标区间:x在(-10,10)之间,y在(-2,2)之间 grid on; title('

转: fscanf()函数详解

以前解析有规律的文件的时候要么用正则表达式,要么就是傻傻的自己写程序来解析有规律的文件.今天突然发现c的库函数中有一个现成的可以解析有规律的文件的函数,就是fscanf()函数.哎 以前自己做了这么多无用功,在这里详细解析一下fscanf函数: fscanf()函数(有点像正则表达式): 功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束. 用 法:int fscanf(FILE *stream, char *format,[argument...]); in

函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针): 其中的n是一个正整数.表示从文件中读出的字符串不超过 n-1个字符.在读入的最后一个字符后加上串结束标志'\0'.例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入 字符数组str中. [例10.