C語言 fprintf()和printf()的區(qū)別
兩個(gè)函數(shù)定義都是在stdio.h中 : 是輸入輸出的頭文件


可以看出fprintf()中臂printf()多了第一個(gè)參數(shù),
這個(gè)就是流.

在linux中:
0:與進(jìn)程的標(biāo)準(zhǔn)輸入關(guān)聯(lián); STDIN_FILENO
1:與標(biāo)準(zhǔn)輸出關(guān)聯(lián); STDUOT_FILENO
2:與標(biāo)準(zhǔn)錯(cuò)誤關(guān)聯(lián); STDERR_FIENO

printf()是fprintf()的一種特殊情況,
printf()相當(dāng)于fprintf()中第一個(gè)參數(shù)賦值為stdout,就是標(biāo)準(zhǔn)輸出的意思.
例如(下面兩個(gè)是等效的):
fprintf(stdout, "hello world.\n");
printf("hello world.\n")

標(biāo)準(zhǔn)輸出(stdout),標(biāo)準(zhǔn)錯(cuò)誤輸出(stderr)
默認(rèn)都是輸出到屏幕.
可以把標(biāo)準(zhǔn)輸出或錯(cuò)誤輸出進(jìn)行重定向.
比如:
./ fprint 2>err.txt
這個(gè)時(shí)候,錯(cuò)誤輸出就不會(huì)打印到屏幕,而是會(huì)到err.txt文件中.
標(biāo)簽: