以前解析有規律的文件的時候要么用正則表達式,要么就是傻傻的自己寫程序來解析有規律的文件。今天突然發現c的庫函數中有一個現成的可以解析有規律的文件的函數,就是fscanf()函數。
fscanf 位于頭文件中,函數原型為 int fscanf(FILE * stream, const char * format, [argument...]); 其功能為根據數據格式(format)從輸入流(stream)中讀入數據(存儲到argument);與fgets的差別在于:fscanf遇到空格和換行時結束,注意空格時也結束,fgets遇到空格不結束。(推薦學習:C語言視頻教程)
fscanf()函數(有點像正則表達式):
功 能: 從一個流中執行格式化輸入,fscanf遇到空格和換行時結束,注意空格時也結束。
用 法:int fscanf(FILE *stream, char *format,[argument...]);
int fscanf(文件指針,格式字符串,輸入列表);
返回值:整型,成功返回讀入的參數的個數,失敗返回EOF(-1)。
例一:#include
#include
int main(void)
{
int i;
printf("Input an integer:");
/*從標準輸入中讀取一個整數*/
if(fscanf(stdin, "%d",&i))
printf("The integer read was:%d\n", i);
else
{
fprintf(stderr, "Error reading an integer from stdin.\n");
exit(1);
}
return 0;
}
返回EOF如果讀取到文件結尾。