文件I/O編程之: 標(biāo)準(zhǔn)I/O編程
6.5.2其他操作
文件打開之后,根據(jù)一次讀寫文件中字符的數(shù)目可分為字符輸入輸出、行輸入輸出和格式化輸入輸出,下面分別對這3種不同的方式進行講解。
1.字符輸入輸出
字符輸入輸出函數(shù)一次僅讀寫一個字符。其中字符輸入輸出函數(shù)如表6.21和表6.22所示。
表6.21 字符輸出函數(shù)語法要點
所需頭文件 | #includestdio.h> |
函數(shù)原型 | intgetc(FILE*stream) |
函數(shù)傳入值 | stream:要輸入的文件流 |
函數(shù)返回值 | 成功:下一個字符 |
表6.22 字符輸入函數(shù)語法要點
所需頭文件 | #includestdio.h> |
函數(shù)原型 | intputc(intc,FILE*stream) |
函數(shù)返回值 | 成功:字符c |
這幾個函數(shù)功能類似,其區(qū)別僅在于getc()和putc()通常被實現(xiàn)為宏,而fgetc()和fputc()不能實現(xiàn)為宏,因此,函數(shù)的實現(xiàn)時間會有所差別。
下面這個實例結(jié)合fputc()和fgetc()將標(biāo)準(zhǔn)輸入復(fù)制到標(biāo)準(zhǔn)輸出中去。
/*fput.c*/
#includestdio.h>
main()
{
intc;
/*把fgetc()的結(jié)果作為fputc()的輸入*/
fputc(fgetc(stdin),stdout);
}
運行結(jié)果如下所示:
$./fput
w(用戶輸入)
w(屏幕輸出)
2.行輸入輸出
行輸入輸出函數(shù)一次操作一行。其中行輸入輸出函數(shù)如表6.23和表6.24所示。
表6.23 行輸出函數(shù)語法要點
所需頭文件 | #includestdio.h> |
函數(shù)原型 | char*gets(char*s) |
函數(shù)傳入值 | s:要輸入的字符串 |
函數(shù)返回值 | 成功:s |
表6.24 行輸入函數(shù)語法要點
所需頭文件 | #includestdio.h> |
函數(shù)原型 | intputs(constchar*s) |
函數(shù)傳入值 | s:要輸出的字符串 |
函數(shù)返回值 | 成功:s |
這里以gets()和puts()為例進行說明,本實例將標(biāo)準(zhǔn)輸入復(fù)制到標(biāo)準(zhǔn)輸出,如下所示:
/*gets.c*/
#includestdio.h>
main()
{
chars[80];
/*同上例,把fgets()的結(jié)果作為fputs()的輸入*/
fputs(fgets(s,80,stdin),stdout);
}
運行該程序,結(jié)果如下所示:
$./gets
Thisisstdin(用戶輸入)
Thisisstdin(屏幕輸出)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評論