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