輸入輸出函式作為ci語言的介面,他們有著特殊的地位
printf 函式
他作為乙個標準的輸入列印函式,也是c語言中的一種變參函式,就是函式的引數數量不固定,這個是他的輸出條件
同樣的還可以加很多附加條件
注這裡面要說明的就是,資料都是需要單位的,沒有單位的資料是沒有意義的,所以我們在定義資料的時候要注意加上單位,通過在前面加上l變為long型的。
scanf函式
scanf和printf函式相對應,是乙個標準的輸入函式,可以從終端上輸入數值給指定的變數
int scanf(const char *format, …);
在使用scanf的時候,通常不加修飾符,想「,」這些的東西,在加入這些的時候只有滿足這些格式的時候才能輸入進去,通常我們不加的時候就預設空格,回車,tab鍵
提示sacnf在迴圈中使用,一定要檢查他的返回值,不檢查的話很容易導致快取無限重新整理
注在scanf中,在連續的輸入輸出中,很多時候會拿入上面的\n,這時候可以用抑制符把他吃掉,不然在第二個輸入中就會接收\n導致接收失敗,這時候我們可以用 %c
或者用putchar*來吃掉它,同時可以可以專門指定%[^\n]來保證程式正確
同時要注意%s的使用是比較危險的,因為他不會檢查越界,一旦輸入超過陣列的大小,資料的位置就無法確定,如果碰到寫有保護程式是檔案會出現段錯誤
同樣的在使用gets()函式的時候也有這個問題
其他int putchar(int c);列印乙個字元
int puts(const char *s);列印乙個字串
char *gets(char *s);never use this function.(來在man手冊的提醒,很危險的函式,不能使用)
int getchar(void);獲得乙個字元
四 基 本 輸 入 輸 出 函 數
語 法 如 下 printf format string,arg1,arg2,argn 轉換字元的種類 種 類 表 示 法 功 能 敘 述 整 數 integer d 以十進位制方式印出。o 以八進位方式印出。x 以十六進製制方式印出。u 以不帶符號的十進位制方式印出。l 以長整數 long 方式印...
基本輸入輸出函式的使用
fread從檔案流stream 中讀取nmemb個元素,寫到ptr指向的記憶體中,每個元素的大小為size個位元組。fwrite從ptr指向的記憶體中讀取nmemb個元素,寫到檔案流stream中,每個元素size個位元組。所有的檔案讀寫函式都從檔案的當前讀寫點開始讀寫,讀寫完以後,當前讀寫點自動往...
輸入 輸出函式
perror函式以一種簡單 統一的方式報告錯誤資訊。例如,如果乙個程式試圖從乙個並不存在的磁碟檔案讀取資料,作業系統除了提出發生了錯誤之外就沒有什麼好做的了。標準庫函式在乙個外部整形變數errno中保留錯誤 之後就把這個資訊傳遞給使用者程式,提示操作失敗的準確原因。void perror char ...