stdio:包含標准輸入輸出的信息。
printf這個函數的具體使用可以man一下得到
printf:formted output conversion
函數原型:
note:這是一個不定參函數。
函數功能:
stdin stdout stderr這在linux中是被作為三個文件使用的,系統啟動完畢后會默認打開這三個文件。他們的文件描述符一次是0 1 2
本文中講的printf屬於第三章函數,它的實現其實是基於linux kernel中的printf函數來實現的,用戶區加入了緩沖區,來增加效率,減少接口層的調用。 函數返回值:
返回的為打印輸出的字符個數,當然對於string類型來說,是不包括結尾符/0的。
若將前面的helloword程序改一下
#include <stdio.h>
int main(void) { printf("Hello World!"); sleep(3); return 0; }
程序運行結果表明printf函數內部實現使用了緩沖區,等到緩沖區滿或者強制輸出緩沖區內容時,才會將緩沖區內容輸出到stdout中去。
附:printf函數輸出格式:
d 以十進制形式輸出帶符號整數(正數不輸出符號)
o 以八進制形式輸出無符號整數(不輸出前綴O)
x 以十六進制形式輸出無符號整數(不輸出前綴OX)
u 以十進制形式輸出無符號整數
f 以小數形式輸出單、雙精度實數
e 以指數形式輸出單、雙精度實數
g 以%f%e中較短的輸出寬度輸出單、雙精度實數
c 輸出單個字符
s 輸出字符串