fgets和fscanf在讀取srt檔案時哪個比較快及fscanf的fp指標移動問題
阿新 • 來源:網路 • 發佈:2022-12-20
while(fgets(str,1024,fp))
while (fscanf(fp, "%[^\n]%*[\n]", str) != EOF)
在資料量較小時
為5000行資料時
fgets為2個時鐘單元單元
fscanf為5個
資料量為10萬行時
fgets為45個時鐘單元
fscanf為
101個時鐘單元
資料量為100萬行資料時
fgets為408個時鐘單元
fscanf為955個時鐘單元
綜上來說 fgets比較快,但是fgets緩衝區足夠大的話,str後面還會更上個’\n’
fscanf在碰到分隔符會停止讀取然後fp指標停在分隔符那裡
