c語言中,怎麼用eof結束輸入,C語言中,怎麼用EOF結束輸入

2021-08-14 10:52:50 字數 2757 閱讀 5872

1樓:烏浦澤

windows:

首先在最後一行結束後(此時未換行)輸入enter鍵,新起一行,再輸入ctrl+z,再輸入時enter鍵即可。

linux:

直接按ctrl+d快捷鍵

示例:#include

using namespce std;

void main()

int  a;

while(cin >>a)

;//迴圈輸入的**塊

c語言中,當把資料以二進位制形式存放到檔案中時,就會有-1值的出現,此時不能採用eof作為二進位制檔案的結束標誌。為解決這個問題,ansi c提供一個feof函式,用來判斷檔案是否結束。

如果遇到檔案結束,函式feof(fp)的值為1,否則為0.feof函式既可用以判斷二進位制檔案是否結束,也可以用以判斷文字檔案是否結束。

#include

#include

#include

#include

void filecopy(file *,file *);

main ( )

file*fpin,*fpout;

fpin =fopen ("file_a.dat","r"); /*開啟輸入檔案*/

fpout = fopen ("file_b.dat","w"); /*開啟輸出檔案*/

filecopy( fpin,fpout ); /*把fpin所指檔案中的內容輸出到fpout所指檔案中*/

fclose ( fpin );fclose ( fpout ); /*關閉輸入輸出檔案*/

void filecopy( file *fpin, file *fpout )

char ch;

ch = getc ( fpin ); /*先讀一次檔案再去判檔案是否結束*/

while ( !feof( fpin ) ) /*當未到檔案末尾是進行迴圈*/

putc ( ch, fpout ); ch= getc ( fpin );} /*逐個字元進行復制*/

2樓:西西哩的小馬甲

不同的系統方法不同:

linux系統下,在輸入回車換行後的空行位置,按 ctrl+d (先按ctrl鍵,不放,再按d鍵)。

windows系統下,在輸入回車換行後的空行位置,按 ctrl+z,再回車確認。

eof 是個巨集,其意思是:end of file,檔案尾標誌。 從數值上來看,就是整數-1。

在c語言的標頭檔案中對其進行了巨集定義:

當讀檔案操作時,遇到檔案結束位置或讀資料出錯均會返回 eof。 (c語言中所有的輸入輸出操作均是按讀檔案的思想來設計的,或者說,是檔案操作的一種特例,如getchar()就是fgetc(stdin) 的一個巨集 )

3樓:風若遠去何人留

在c語言執行過程中,有時需要在終端手動輸入eof,其輸入方法與作業系統有關。

1 windows系統。

實際上輸入是在dos下面執行的,也就是執行時的那個黑底視窗。在windows下輸入eof需要輸入ctrl+z。

2 linux/unix/mac作業系統。

在這類作業系統下,要輸入eof需要輸入ctrl+d。

以上輸入操作,均需要先按下ctrl鍵,不要抬起,再按下對應的d或z鍵,抬起d或z鍵,再抬起ctrl鍵。組合功能鍵的輸入流程都是這樣的。

在輸入時,如鍵盤上有多個ctrl, 左右ctrl均可使用,沒有區別。對於字母的輸入,大小寫也無關。

部分系統執行時,會不支援即時輸入,這樣在輸入功能鍵後,還需要再輸入回車來使系統可以接收到按鍵,此類現象多見於windows編譯器。

如果系統支援按鍵回顯,那麼在輸入成功後,會顯示^z或^d。

4樓:匿名使用者

eof 是個巨集,其意思是:end of file,檔案尾標誌。 從數值上來看,就是整數-1

在c語言的標頭檔案中對其進行了巨集定義:

libio.h:    # define eof (-1)

當讀檔案操作時,遇到檔案結束位置或讀資料出錯均會返回 eof。 (c語言中所有的輸入輸出操作均是按讀檔案的思想來設計的,或者說,是檔案操作的一種特例,如getchar()就是fgetc(stdin) 的一個巨集 )

int getchar() ; //從標準輸入緩衝區讀取一個字元,成功返回該字元的ascii值,出錯,返回eof

那麼,如何在鍵盤輸入時,產生eof呢? 不同的系統方法不同:

linux系統下,在輸入回車換行後的空行位置,按 ctrl+d (先按ctrl鍵,不放,再按d鍵)

windows系統下,在輸入回車換行後的空行位置,按 ctrl+z,再回車確認

以下**供參考:

#include

void main()

while ( ch!=eof );}

5樓:匿名使用者

eof如果是輸入結束的話應該按ctrl+z才行ctrl+z = eof

c語言中如何用eof結束gets的輸入?(必須要用eof結束句子的讀入)

6樓:御含靈

在windows下執行程式時 輸入組合鍵ctrl+z在linux下輸入ctrl+d

就會讓程式讀到一個eof

對於gets來說碰到eof返回null

getchar()碰到eof返回eof 也就是-1

7樓:cx星宇

因為ascii碼對應的資料是0~127不存在負數、而efo巨集定義為負一。當判斷輸入字元==eof的時候就自動退出迴圈

c語言如何輸入,C語言如何輸入EOF

windows 首先在最後一行結束後 此時未換行 輸入enter鍵,新起一行,再輸入ctrl z,再輸入時enter鍵即可。linux 直接按ctrl d快捷鍵 示例 include using namespce std void main int a while cin a 迴圈輸入的 塊 c語言...

c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素

include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...

C語言中if else if else怎麼用

else 這個地方有問題,else後面不需要括號 關於c語言中if,elseif和else的區別在 c語言中if,elseif和else的主要區別是用法的區別。if語句用來判定所給定的條件是否滿足,根內據判定的結果 真或容假 決定執行給出的兩種操作之一。如果後面沒有連線else則判斷為假時不執行任何...