fscanf 함수

3368 단어 scanf

함수 정의:

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

좋은 웹페이지 즐겨찾기