天天看點

C頭檔案之<stdio.h>

(stdio.h)

該頭檔案主要是執行輸入輸出操作。檔案中重要的概念是“流”(streams)。“流”在函數庫中用FILE表示,用指針類型FILE *來操作。有三個标準流:stdin, stdout,和stderr。這三個都是FILE*變量。他們被編譯器自動創造。在下面的函數中,strean形參都可以被指派為标準流。 下面是重要函數:

格式化輸入輸出

printf、scanf
這兩個函數是最基本的函數了,從stdin讀入,從stdout讀出。
fprintf
函數原型:int fprintf(FILE* stream, const char * format, ...);。向參數stream指定的流格式化寫入。stream可以是檔案指針,也可以是stdin。
fscanf
函數原型:int fscanf ( FILE * stream, const char * format, ... );。從參數stream指定的流格式化讀入。stream可以是檔案指針,也可以是stdout。
sscanf
函數原型:int sscanf ( const char * s, const char * format, ...);。從參數s指定的字元串中格式化讀入。就相當于将scanf的讀入來源從stdin換為s。
sprintf
函數原型:int sprintf (char * str, const char * format, ...);。向參數s指定的字元串中格式化寫入。就相當于将printf的寫入去向從stdout換為s。

檔案入口

freopen
FILE * freopen ( const char * filename, const char * mode, FILE * stream );。将參數stream關聯的流,改變為檔案filename。參數mode指定檔案讀取模式。該函數在調試過程中可以将stdin指定為檔案,這樣避免浪費時間在輸入上。
/* freopen example: redirecting stdout */
#include <stdio.h>

int main ()
{
  freopen ("myfile.txt","w",stdout);
  printf ("This sentence is redirected to a file.");
  fclose (stdout);
  return 0;
}