鍍金池/ 教程/ C/ fscanf() - C語(yǔ)言庫(kù)函數(shù)
qsort() - C語(yǔ)言庫(kù)函數(shù)
strxfrm() - C語(yǔ)言庫(kù)函數(shù)
difftime() - C語(yǔ)言庫(kù)函數(shù)
isdigit() - C函數(shù)
<limits.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
ldiv() - C語(yǔ)言庫(kù)函數(shù)
printf() - C語(yǔ)言庫(kù)函數(shù)
sin() - C函數(shù)
freopen() - C語(yǔ)言庫(kù)函數(shù)
NULL - C函數(shù)
mktime() - C語(yǔ)言庫(kù)函數(shù)
floor() - C函數(shù)
log() - C函數(shù)
rewind() - C語(yǔ)言庫(kù)函數(shù)
memcpy() - C語(yǔ)言庫(kù)函數(shù)
remove() - C語(yǔ)言庫(kù)函數(shù)
localtime() - C語(yǔ)言庫(kù)函數(shù)
strcoll() - C語(yǔ)言庫(kù)函數(shù)
fgets() - C語(yǔ)言庫(kù)函數(shù)
errno - C語(yǔ)言宏
<stdlib.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
labs() - C語(yǔ)言庫(kù)函數(shù)
putchar() - C語(yǔ)言庫(kù)函數(shù)
wcstombs() - C語(yǔ)言庫(kù)函數(shù)
fclose() - C庫(kù)函數(shù)
system() - C語(yǔ)言庫(kù)函數(shù)
strncmp() - C語(yǔ)言庫(kù)函數(shù)
va_end() - C函數(shù)
setlocale() - C函數(shù)
strpbrk() - C語(yǔ)言庫(kù)函數(shù)
acos() - C函數(shù)
fabs() - C函數(shù)
asctime() - C語(yǔ)言庫(kù)函數(shù)
offsetof() - C函數(shù)
cos() - C函數(shù)
atoi() - C語(yǔ)言庫(kù)函數(shù)
strftime() - C語(yǔ)言庫(kù)函數(shù)
va_arg() - C函數(shù)
strstr() - C語(yǔ)言庫(kù)函數(shù)
<errno.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
memchr() - C語(yǔ)言庫(kù)函數(shù)
fopen() - C語(yǔ)言庫(kù)函數(shù)
va_start() - C函數(shù)
fprintf() - C語(yǔ)言庫(kù)函數(shù)
strrchr() - C語(yǔ)言庫(kù)函數(shù)
<time.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
isgraph() - C函數(shù)
srand() - C語(yǔ)言庫(kù)函數(shù)
isprint() - C函數(shù)
fputs() - C語(yǔ)言庫(kù)函數(shù)
sscanf() - C語(yǔ)言庫(kù)函數(shù)
getc() - C語(yǔ)言庫(kù)函數(shù)
<stdarg.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
rename() - C語(yǔ)言庫(kù)函數(shù)
rand() - C語(yǔ)言庫(kù)函數(shù)
strspn() - C語(yǔ)言庫(kù)函數(shù)
frexp() - C函數(shù)
bsearch() - C語(yǔ)言庫(kù)函數(shù)
islower() - C函數(shù)
fwrite() - C語(yǔ)言庫(kù)函數(shù)
ispunct() - C函數(shù)
vsprintf() - C語(yǔ)言庫(kù)函數(shù)
strcspn() - C語(yǔ)言庫(kù)函數(shù)
fgetpos() - C庫(kù)函數(shù)
getchar() - C語(yǔ)言庫(kù)函數(shù)
tmpfile() - C語(yǔ)言庫(kù)函數(shù)
mbtowc() - C語(yǔ)言庫(kù)函數(shù)
sprintf() - C語(yǔ)言庫(kù)函數(shù)
ftell() - C語(yǔ)言庫(kù)函數(shù)
feof() - C庫(kù)函數(shù)
mblen() - C語(yǔ)言庫(kù)函數(shù)
clearerr() - C庫(kù)函數(shù)
modf() - C函數(shù)
strncat() - C語(yǔ)言庫(kù)函數(shù)
isspace() - C函數(shù)
ctime() - C語(yǔ)言庫(kù)函數(shù)
tmpnam() - C語(yǔ)言庫(kù)函數(shù)
isupper() - C函數(shù)
atol() - C語(yǔ)言庫(kù)函數(shù)
gets() - C語(yǔ)言庫(kù)函數(shù)
<setjmp.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
perror() - C語(yǔ)言庫(kù)函數(shù)
exit() - C語(yǔ)言庫(kù)函數(shù)
memmove() - C語(yǔ)言庫(kù)函數(shù)
isalpha() - C函數(shù)
fsetpos() - C語(yǔ)言庫(kù)函數(shù)
fmod() - C函數(shù)
<float.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
strtok() - C語(yǔ)言庫(kù)函數(shù)
wctomb() - C語(yǔ)言庫(kù)函數(shù)
strcat() - C語(yǔ)言庫(kù)函數(shù)
atof() - C語(yǔ)言庫(kù)函數(shù)
strchr() - C語(yǔ)言庫(kù)函數(shù)
<locale.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
signal() - C函數(shù)
ungetc() - C語(yǔ)言庫(kù)函數(shù)
ferror() - C庫(kù)函數(shù)
C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
strtoul() - C語(yǔ)言庫(kù)函數(shù)
fseek() - C語(yǔ)言庫(kù)函數(shù)
fscanf() - C語(yǔ)言庫(kù)函數(shù)
mbstowcs() - C語(yǔ)言庫(kù)函數(shù)
longjmp() - C函數(shù)
localeconv() - C函數(shù)
raise() - C函數(shù)
ceil() - C函數(shù)
<string.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
free() - C語(yǔ)言庫(kù)函數(shù)
setvbuf() - C語(yǔ)言庫(kù)函數(shù)
atan() - C函數(shù)
C函數(shù)庫(kù)宏 assert()
<stdio.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
fread() - C語(yǔ)言庫(kù)函數(shù)
vfprintf() - C語(yǔ)言庫(kù)函數(shù)
isxdigit() - C函數(shù)
toupper() - C函數(shù)
<ctype.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
setjmp() - C函數(shù)
ldexp() - C函數(shù)
EDOM - C語(yǔ)言宏
strlen() - C語(yǔ)言庫(kù)函數(shù)
tolower() - C函數(shù)
clock() - C語(yǔ)言庫(kù)函數(shù)
fflush() - C庫(kù)函數(shù)
fgetc() - C語(yǔ)言庫(kù)函數(shù)
<stddef.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
div() - C語(yǔ)言庫(kù)函數(shù)
<math.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
isalnum() - C函數(shù)
memset() - C語(yǔ)言庫(kù)函數(shù)
calloc() - C語(yǔ)言庫(kù)函數(shù)
vprintf() - C語(yǔ)言庫(kù)函數(shù)
sqrt() - C函數(shù)
<assert.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)
time() C語(yǔ)言
atexit() - C語(yǔ)言庫(kù)函數(shù)
memcmp() - C語(yǔ)言庫(kù)函數(shù)
setbuf() - C語(yǔ)言庫(kù)函數(shù)
iscntrl() - C函數(shù)
abs() - C語(yǔ)言庫(kù)函數(shù)
abort() - C語(yǔ)言庫(kù)函數(shù)
exp() - C函數(shù)
realloc() - C語(yǔ)言庫(kù)函數(shù)
puts() - C語(yǔ)言庫(kù)函數(shù)
scanf() - C語(yǔ)言庫(kù)函數(shù)
malloc() - C語(yǔ)言庫(kù)函數(shù)
strerror() - C語(yǔ)言庫(kù)函數(shù)
strtol() - C語(yǔ)言庫(kù)函數(shù)
ERANGE - C語(yǔ)言宏
sinh() - C函數(shù)
atan2() - C函數(shù)
putc() - C語(yǔ)言庫(kù)函數(shù)
asin() - C函數(shù)
strcpy() - C語(yǔ)言庫(kù)函數(shù)
fputc() - C語(yǔ)言庫(kù)函數(shù)
getenv() - C語(yǔ)言庫(kù)函數(shù)
pow() - C函數(shù)
tanh() - C函數(shù)
gmtime() - C語(yǔ)言庫(kù)函數(shù)
strtod() - C語(yǔ)言庫(kù)函數(shù)
log10() - C函數(shù)
strcmp() - C語(yǔ)言庫(kù)函數(shù)
<signal.h> - C語(yǔ)言標(biāo)準(zhǔn)庫(kù)

fscanf() - C語(yǔ)言庫(kù)函數(shù)

C庫(kù)函數(shù) int fscanf(FILE *stream, const char *format, ...) 從流中讀取的格式輸入。

聲明

以下是 fscanf() 函數(shù)的聲明。

int fscanf(FILE *stream, const char *format, ...)

參數(shù)

  • stream -- 這是一個(gè)文件對(duì)象的標(biāo)識(shí)流的指針。

  • format -- 這是C字符串,其中包含一個(gè)或多個(gè)以下項(xiàng)目:空白字符,非空白字符和格式說(shuō)明符。格式規(guī)范將 [=%[*][width][modifiers]type=], 詳細(xì)說(shuō)明如下:

參數(shù) 描述
* 這是一個(gè)可選的星號(hào)表示該數(shù)據(jù)是從流中被讀取的,但忽略,即,它不會(huì)存儲(chǔ)在相應(yīng)的參數(shù)。
width 這指定在當(dāng)前讀出操作被讀取的最大字符數(shù)
modifiers Specifies a size different from int (in the case of d, i and n), unsigned int (in the case of o, u and x) or float (in the case of e, f and g) for the data yiibaied by the corresponding additional argument: h : short int (for d, i and n), or unsigned short int (for o, u and x) l : long int (for d, i and n), or unsigned long int (for o, u and x), or double (for e, f and g) L : long double (for e, f and g)
type 的字符,指定將要讀取的數(shù)據(jù)的類型以及它是如何被讀取。請(qǐng)參閱下表。

fscanf類型說(shuō)明:

類型 合格輸入 參數(shù)類型
c Single character: Reads the next character. If a width different from 1 is specified, the function reads width characters and stores them in the successive locations of the array passed as argument. No null character is appended at the end. char *
d Decimal integer: Number optionally preceeded with a + or - sign int *
e,E,f,g,G Floating yiibai: Decimal number containing a decimal yiibai, optionally preceeded by a + or - sign and optionally folowed by the e or E character and a decimal number. Two examples of valid entries are -732.103 and 7.12e4 float *
o OctalInteger: int *
s String of characters. This will read subsequent characters until a whitespace is found (whitespace characters are considered to be blank, newline and tab). char *
u Unsigned decimal integer. unsigned int *
x,X Hexadecimal Integer int *
  • additional arguments -- 根據(jù)格式字符串,函數(shù)可能會(huì)想到一系列的額外的參數(shù),每個(gè)包含一個(gè)值,而不是插入的格式參數(shù)中指定的標(biāo)記每個(gè)%,如果有的話。應(yīng)該有相同數(shù)量的%預(yù)期值的標(biāo)簽的數(shù)量的這些參數(shù)。

返回值

此函數(shù)返回成功匹配,分配的輸入項(xiàng)目的數(shù)量,它可以是少于提供了在一個(gè)早期的匹配失敗的情況下,甚至可以為零。

例子

下面的例子演示了如何使用fscanf() 函數(shù)。

#include <stdio.h>
#include <stdlib.h>


int main()
{
   char str1[10], str2[10], str3[10];
   int year;
   FILE * fp;

   fp = fopen ("file.txt", "w+");
   fputs("We are in 2012", fp);
   
   rewind(fp);
   fscanf(fp, "%s %s %s %d", str1, str2, str3, &year);
   
   printf("Read String1 |%s|
", str1 );
   printf("Read String2 |%s|
", str2 );
   printf("Read String3 |%s|
", str3 );
   printf("Read Integer |%d|
", year );

   fclose(fp);
   
   return(0);
}

讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

Read String1 |We|
Read String2 |are|
Read String3 |in|
Read Integer |2012|