字元輸入 輸出和輸入驗證

2021-09-21 13:57:17 字數 1304 閱讀 8231

注釋

重定位讓你能夠用鍵盤輸入程式檔案,程式需測試檔案的末尾。重定向是乙個命令概念,因為要在命令列輸入特殊的符號發出指令。

//file_eof.c--開啟乙個檔案並顯示該檔案

#include

#include //為了使用exit()

int main(void)

//getc(fp)從開啟的檔案中獲取乙個字元

while ((ch = getc(fp)) != eof)

putchar(ch);

fclose(fp);    //關閉檔案

return 0;

如何重定向輸入和輸出

絕大部分c系統都可以使用重定向,可以通過作業系統重定向所有程式,或只在c編輯器允許的情況下重定向c程式,假設prog是可執行程式,file1和file2是檔名

把輸出定向至檔案:>

./prog>file2

把輸入定向至檔案:<

./prog組合重定向:

./progfile1

./prog>film1這兩種形式都是把file2作為輸入,file1作為輸出

一些系統要求重定向運算子左側有乙個空格,右側沒有空格。而其他系統,允許在重定位運算子兩側有空格或沒有空格。

建立友好的使用者介面

使用緩衝輸入

乙個拖沓且錯誤的數字程式

當n輸入時,讀取程式n作為使用者否定了數字1,在該程式中列印了兩行。解決這種問題的方法是

一。使用while 迴圈丟棄輸入行最後剩餘的內容,包括換行符。

while (getchar() != 'y')        //獲取響應 ,與y做對比

該程式解決了換行符的問題,但是,該程式還是會把fp視為n .我們用if 語句篩選其他相應,首先新增乙個char 型別變數

char response;

while ((response =getchar() )!= 'y')        //獲取響應 ,與y做對比

混合值和字元輸入

假設程式要求用gatchar()處理字元輸入,用scanf()處理數值輸入,這兩個函式都能很好地完成任務,但是不能把他們混用。因為getchar()讀取每個字元,包括空格,製表符:而scanf在讀取數字是則會跳過空格,製表符和換行符

輸入驗證

字元輸入 輸出和輸入驗證

本屆講解通用標準的i o函式的使用說明 單字元i o getchar 和putchar 這個是單字元每次只處理乙個字元,緩衝區 ansi c和後續的c標準都規定輸入時緩衝的,最初的k r c吧這個jue決定權交給了編寫者。一些計算機不允許無緩衝輸入,但又的計算機支援,如 ibm pc 支援 通過co...

字元輸入 輸出和輸入確認

緩衝分為兩種 完全緩衝 緩衝區滿時被清空 內容發往目的地 行緩衝 遇到乙個換行字元時將被清空緩衝區 低階i o是使用宿主作業系統的基本工具來處理檔案,由於系統的差異,所以無法建立乙個通用的低階i o標準庫。因此c採用的是標準i o包,級別更高,系統之間的差異由特定的c實現來處理,相當於提供了乙個標準...

字元輸入輸出流

注意 在寫出的時候一定要注意要記得清空緩衝區!字元輸入流 filereader 跟fileinputstream使用的方式和方法一樣 不過返回的資料型別為 char 型別的,所以我們要用 char 字串陣列接受 方法close 關閉輸入流 int read 從輸入流讀取下一字元 int read c...