int fscanf ( FILE * stream, const char * format, ... );
說明符 | 描述 | 提取的字元 |
---|---|---|
i, u | 整數 | 任意數量的數字,可選地前面有符號(+或-). 十進位制數字,預設為(0-9),但0字首引入八進位制數字(0-7),以及0x 十六進位制數字 (0-f). |
d | 十進位制整數 | 任意數量的十進位制數字(0-9),可選地前面有符號(+或-). |
o | 八進位制整數 | 任意數量的八進位制數字(0-7),可選地前面有符號(+或-). |
x | 十六進位制整數 | 任意數量的十六進位制數字(0-9, a-f, A-F),可選地前面有0x或或 0X,並可選地前面有符號(+或-). |
f, e, g | 浮點數 | 一系列十進位制數字,可選地包含小數點,可選地前面有符號(+或-)並可選地後面跟著e或E字元和十進位制整數(或strtod支援的其他序列)。 符合C99標準的實現也支援十六進位制浮點數格式,當其前面有 0x 或0X 時。 |
a | ||
c | 字元 | 下一個字元。如果指定了除1以外的寬度,則函式讀取寬度個字元並將它們儲存在作為引數傳遞的陣列的連續位置中。末尾不會附加空字元。 |
s | 字串 | 任意數量的非空白字元,在遇到第一個空白字元時停止。一個終止的空字元會自動新增到儲存序列的末尾。 |
p | 指標地址 | 表示指標的字元序列。具體的格式取決於系統和庫實現,但它與fprintf中格式化%p的格式相同。 |
[字元] | 掃描集 | 括號內指定的任意數量的字元。 破折號(-),如果不是第一個字元,在某些庫實現中可能會產生不可移植的行為。 |
[^字元] | 否定掃描集 | 任意數量的字元,其中不包括括號內指定的任何字元。 |
n | 計數 | 不消耗輸入。 從stream讀取的字元數儲存在指向的位置。 |
% | % | A%後跟另一個%匹配單個%. |
子說明符 | 描述 |
---|---|
* | 可選的起始星號表示資料將從流中讀取但被忽略(即不儲存在引數指向的位置)。 |
寬度 | 指定當前讀取操作中要讀取的最大字元數(可選)。 |
長度 | 之一hh, h, l, ll, j, z, t, L(可選)。 這會改變相應引數指向的儲存的預期型別(見下文)。 |
說明符 | |||||||
---|---|---|---|---|---|---|---|
長度 | d i | u o x | f e g a | c s [] [^] | p | n | |
(無) | int* | unsigned int* | float* | char* | void** | int* | |
hh | signed char* | unsigned char* | signed char* | ||||
h | short int* | unsigned short int* | short int* | ||||
l | long int* | unsigned long int* | double* | wchar_t* | long int* | ||
ll | long long int* | unsigned long long int* | long long int* | ||||
j | intmax_t* | uintmax_t* | intmax_t* | ||||
z | size_t* | size_t* | size_t* | ||||
t | ptrdiff_t* | ptrdiff_t* | ptrdiff_t* | ||||
L | long double* |
|
|
I have read: 3.141600 and PI |