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