回覆列表
-
1 # 隔壁老西工
-
2 # TonyDeng
跟scanf()的用法一樣。實際上scanf()是fscanf()的特殊版本,後者的第一個引數為stdin時,就是前者。同樣,sscanf()也是類似的東西,這是針對記憶體緩衝區的版本。
跟scanf()的用法一樣。實際上scanf()是fscanf()的特殊版本,後者的第一個引數為stdin時,就是前者。同樣,sscanf()也是類似的東西,這是針對記憶體緩衝區的版本。
fscanf是用於從資料流中讀取格式化的資料。
函式定義為:int fscanf (FILE * stream, const char * format, ... )
其中FILE就是讀取輸入流的目標指標。format是格式的字串,空格字元、非空格字元和說明符。
例如現在你有一個檔案叫做mydata.txt,它的內容如下,記錄了姓名和身高(cm):
Jim 180.5
那麼我們如何能快速讀取每一項呢?
#include <stdio.h>
int main()
{
char name[24] = {0};
float height;
FILE* fp = fopen("mydata.txt", "r");
fscanf(fp, "%s %f", name, &height);
fclose(fp);
printf("Name:%s, Height:%f", name, height);
return 0;
}