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

2021-12-19 13:10:11 字數 5847 閱讀 9603

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樓:風若遠去何人留

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

3樓:匿名使用者

1.在windows下輸入:ctrl+z+enter;

2.在linux/unix/mac作業系統下輸入:ctrl+d+enter。

#include

#include

#include

int main()

return 0;}/*

輸出:1--1--

2--2--

3--3--

^z*/

4樓:呆呆的書童樂園

在c語言執行過程中,有時需要在終端手動輸入eof,其輸入方法與作業系統有關。1 windows系統。實際上輸入是在dos下面執行的,也就是執行時的那個黑底視窗。

在windows下輸入eof需要輸入ctrl+z。2 linux/unix/mac作業系統。在這類作業系統下,要輸入eof需要輸入ctrl+d。

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

5樓:匿名使用者

windows是ctrl+z

c語言新手提問!!!關於如何輸入eof終止輸入!!

6樓:諾諾百科

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

linux:直接按ctrl+d快捷鍵

示例:#include

using namespce std;

void main()

int  a;

while(cin >>a)}

7樓:匿名使用者

在windows平臺,一般模擬eof的輸入是在一個新行的開頭輸入ctrl + z就行了

在unix環境下,是在一個新行的開始出輸入ctrl + d就可以了

你可以試一下

8樓:藍山的藍

unix/linux 包含了 readline.h 的庫,在 bash 裡直接體現為眾多的快捷鍵操作。

為什麼 ctrl-d 代表了 eof, 請 man readline

9樓:

eof = end of file 是檔案結束的標誌,鍵盤輸入可參考一樓的回答。

讀取字串如何藉助eof結束輸入(c語言問題)?

10樓:風若遠去何人留

可以通過scanf讀取字串,然後根據scanf的返回值確認是否讀到eof。

當輸入正確是,scanf會返回輸入的變數個數,當遇到eof時,會返回eof。

於是**可以寫作

while(scanf("%s",str) != eof)//輸入,直到遇到eof結束。

11樓:小小小s菜鳥

試試for (i = 0; i < lim; i++)pst[i] = str_arr[i] ;

if (i != 9)

printf ("請輸入第[%d]個字串:", i + 2) ;}

python 怎麼實現類似c語言 while(scanf()!=eof)的輸入操作

12樓:風若遠去何人留

while(scanf()!=eof)的作用是,當scanf返回eof時退出迴圈讀取輸入的操作。

也就是當遇到檔案結尾,如果用作標準輸入時就是當在終端輸入了eof時結束操作。

對於此,python並沒有相同功能的系統函式而是需要由自己判斷。

while true:

try:

s = raw_input()

except:

break

**解析:

while true:

s = raw_input()

這個就相當於c的while(1)scanf();

也就是不停的讀輸入,沒有判斷eof的情況。

在python中,無法通過raw_input()的返回值判斷是否有eof。python是通過抓取異常來知eof的,於是,通過try except的方法,當出現except的時候,就是到了eof,這時退出迴圈,也就是

except:

break

這樣就達到了和c中同樣的效果。

13樓:匿名使用者

while true: # 無限迴圈 相當於 while(true)try: # try

s = raw_input() # 讀取一行的輸入except: # 當遇到檔案終結的時候會扔出 eoferrorprint "eof"

break # 跳出迴圈

14樓:匿名使用者

while 1:

a = raw_input()

if a != "":

break

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

15樓:烏浦澤

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

16樓:西西哩的小馬甲

不同的系統方法不同:

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

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

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

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

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

17樓:風若遠去何人留

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

C語言中如何清空輸入輸出緩衝區,C語言如何清除鍵盤輸入快取區?

最簡單的是用fflush 函式。此函式包含在stdio.h標頭檔案中,用來強制將緩衝區中的內容寫入檔案。函式原型 int fflush file stream 函式功能 清除一個流,即清除檔案緩衝區.常用場合 一 ff stdin 重新整理標準輸入緩衝區,把輸入緩衝區裡的東西丟棄 fflush st...

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語言如何做到只能輸入數字,輸入其他的,比如字母。就會提示

將你的test1函式更改如下 int test1 num 10 num s i 0 if i 0 break for n 0 s n 0 n input num return 0 include include include include here int main if i len 用 ato...