c語言裡的eof(結束程式)怎麼用

2021-09-01 00:19:46 字數 3346 閱讀 7999

1樓:吉祥二進位制

在c語言中,或更精確地說成c標準函式庫中表示檔案結束符(end of file)。在while迴圈中以eof作為檔案結束標誌,這種以eof作為檔案結束標誌的檔案,必須是文字檔案。在文字檔案中,資料都是以字元的ascii**值的形式存放。

一般eof的值為-1,ascii**值的範圍是0~255,不可能出現-1,因此可以用eof作為檔案結束標誌。

eof在windows對應的按鍵是ctrl+z鍵,在linux系統上對應的按鍵是ctrl+d。比如下面的**:

#include

int main()

執行程式按ctrl+z鍵,即會顯示“^z",再次按回車鍵即可退出程式。

2樓:假設還是如果

在標頭檔案中

#define eof -1

它只不過是個常量,起到標示作用而已

如,fgetc(fp);當這個函式讀到檔案結尾的時候,會返回-1,也就是eof。

很多函式都這樣

getchar()當遇到ctrl+c字元的時候,返回eof

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

3樓:御含靈

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

就會讓程式讀到一個eof

對於gets來說碰到eof返回null

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

4樓:cx星宇

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

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

5樓:烏浦澤

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 );} /*逐個字元進行復制*/

6樓:西西哩的小馬甲

不同的系統方法不同:

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

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

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

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

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

7樓:風若遠去何人留

在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。

8樓:匿名使用者

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 );}

9樓:匿名使用者

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

5的C語言程式怎麼寫,用C語言編寫程式,計算表示式112131415的結果線上等。

incude void main printf f n s 你會寫bai1 2 3 4 5吧,如下 du float s 0 for float i 1 i 5 i zhi那麼你會寫 1 1 2 1 3 1 4 1 5吧,如dao下 float s 0 for float i 1 i 5 i 那麼你...

m n 用c語言怎麼寫程式

1 寫一個計算x 的子函式,採用遞迴的思路,具體如下 int fun int x 用的時候只要在主函式中呼叫fun m fun n 就可以了,這樣不管加幾項都可以通過呼叫這個函式實現。2 遞迴是很有用的演算法,lz可以多看下,像這種求階乘的用遞迴有助於你理解,可以翻翻書,一般書上都有 3 最後祝學業...

怎麼用c語言開啟程式,怎麼用C語言開啟一個程式?

注意 如果是軟體工程的話,就要新建工程 第二步 開啟構建 構建選項 選擇編譯,設定類別為c language,在兩個iso名稱的選項框上打鉤 如圖 點選確定。第四步 確定編寫的程式正確後,執行,如圖,程式執行成功,儲存。下次直接開啟 exe檔案進行執行就可以了。c語言中開啟一個應用程式可以呼叫sys...