• 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
    " );
       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
    ", s );
          printf( "%ld
    ", l );
          printf( "%f
    ", fp );
          printf( "%c
    ", 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
    ", 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 


  • 相关阅读:
    Nginx进阶-不停服更新
    Tengine安装
    初识Nginx
    自建Nuget服务器
    WebApi PUT、DELETE请求时出现405
    Mysql分页查询性能分析
    Asp.Net WebApi Swagger终极搭建
    到底什么是程序员思维,设计师思维
    [有了SSL证书,如何在IIS环境下部署https?【转载】]
    div 文章内容自动分屏显示
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4019771.html
Copyright © 2020-2023  润新知