scanf家族和printf家族

來源:互聯網
上載者:User
一.scanf家族

1.scanf家族的原型如下。每個原型中的省略符號表示一個可變長度的指標列表。從輸入轉換而來的值逐個儲存到這些指標參數所指向的記憶體位置。

int  fscanf(FILE  *stream,char  const *format,…);

int   scanf(char const  *format,…);

int  sscanf(char  const  *format,…);

2.以上這些函數都從輸入源讀取字元並根據format字串給出的格式代碼對它們進行轉換

3.不同點:

1>fscanf的輸入源就是作為參數給出的流

2>scanf從標準輸入讀取

3>sscanf從第一個參數所給出的字串中讀取字元。

3.當格式化字串到達末尾或者讀取的輸入不再匹配格式字串所指定的類型時,輸入就停止。

4.在任何一種情況下,被轉換的輸入值的數目作為函數的傳回值返回。

5.如果在任何輸入值被轉換之前檔案就已到達尾部,函數就返回常量值EOF。

二.printf家族

1.printf函數家族用於建立格式化的輸出。這個家族共有三個函數:fprintf、printf 和sprintf。

2.它們的原型如下:

int  fprintf(FILE  *stream,char const  *format,…);

int printf(char  const  *format,…);

int  sprint(char  *buffer,char const  *format,…);

3. printf根據格式代碼和format參數中的其他字元對參數列表中的值進行格式。

4.不同點:

1>使用printf,將輸出結果輸出到標準輸出。

2>使用fprintf,可以使用任何輸出資料流。

3>sprintf把它的結果作為一個NUL結尾的字串儲存到指定的buffer緩衝區而不是寫人到流中。

這三個函數的傳回值是實際列印或儲存的字元數。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.