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
用C語言編寫程式,用C語言編寫程式?
程式就是讀取檔案到陣列,再將陣列進行排序,最後寫入檔案。讀寫檔案流程 fopen獲取檔案流 根據讀寫需求,選擇引數,使用完必須呼叫fclose函式關閉 fscanf讀取檔案內容,fseek控制檔案流指標,fprintf寫入檔案。選擇排序 每個迴圈週期選出一個最值,交換一次。下面是 陣列為動態陣列 i...
求123100的C語言程式,用C語言程式設計求出123100的值
include int main void include stdio.h main printf d sum 經測試,合格 用c語言編一個程式,求1 2 3 100的和。如下 include int main 求採納 執行結果 include void main include int main ...
C語言程式錯在哪,怎麼改,c語言程式錯在哪?
函式fun缺少返回值,我給你返回0了,不知道你要返回什麼!include int fun int array 3 3 return 0 void main for i 0 i 3 i fun array printf converted array n for i 0 i 3 i fun需要一個返回...