A. C語言中如何在命令行中輸入EOF,即文本結束符
沒法輸入
不過有個替代的方法,Ctrl+Z,雖然並不是EOF
但是scanf檢測到這個符號,會自動返回EOF
注意getchar之類沒法檢測到
B. c語言程序設計 怎麼以輸入EOF結束
EOF(End Of File)是C語言中的文件結束標志符。當C語言輸入函數獲取到文件結尾標志時,會通過返回值的方式體現該值。
所以要以輸入EOF為結束,就需要判斷輸入函數的返回值。
EOF定義在stdio.h中,與常用的輸入函數相同,所以不需要額外引用頭文件。
以下根據輸入函數不同,分別說明EOF的判斷。
1 getchar
getchar函數的功能是讀入一個字元。適用於逐個字元輸入的情況。
其返回值為int型,常見的做法是賦值給char型變數,但如果要檢查EOF,則必須將返回值賦值給int型。
代碼:
intc;
while(1)
{
c=getchar();//讀入一個字元。
if(c==EOF)break;//如果遇到EOF則退出循環,即結束輸入。
}
2 scanf
scanf是最常用的C語言輸入,其作用為格式化輸入,可以用來輸入各種類型的變數值。
以int型為例:
intc,ret;
while(1)
{
ret=scanf("%d",&c);//讀入一個整型值。
if(ret==EOF)break;//如果遇到EOF則退出循環,即結束輸入。注意判斷的是返回值,而不是讀入的變數。
}
3 gets
gets作用是讀入一行數據,存到字元數組中,並把讀到的換行符轉換為字元串結束符。
正常情況下其返回值為傳入的指針,當遇到EOF時,其返回NULL(空指針)。
所以用gets讀入時可以這樣判斷:
chars[100];
while(1)
{
if(gets(s)==NULL)break;//當gets返回NULL時代表遇到EOF,結束輸入。
}
當輸入為文件時,遇到文件結尾C語言可以自動識別EOF,但如果輸入為命令行交互模式,那麼需要手動輸入EOF. 在windows平台輸入EOF的方法為,同時按下ctrl和z鍵。如果是unix/linux平台,則需要同時按下ctrl+d鍵。
C. 在C中,EOF具體指的是什麼while((ch=getchar())!=EOF)這句話要怎麼才能在命令行上讓它終止
EOF是end of file的縮寫,即文件尾,在windows下,要按CTRL+Z,然後回車來終止!
D. cat << EOF 命令
相信cat這個命令大家都很熟悉,可以查看一個文件的內容,但是cat << EOF這個呢,我當時看到的時候有點蒙。
cat << EOF的意思是以EOF輸入字元為標准輸入結束,就是當你輸入cat << EOF的時候,你可以隨意輸入字元,但是當輸入EOF的時候就結束了。
我們也可以將輸入的內容寫入文件 cat << EOF > a.txt 。
E. c語言中的EOF
EOF是End Of File的意思,在C語言中定義的一個宏,用作文件結束標志。從數值角度看,就是-1。
F. 資料庫 eof()命令的使用
f和t指的應該是 false和true
你是在什麼環境下的?
應該是和你所用的環境有關
G. c語言eof是什麼意思
比如的程序在命令行需要輸入,輸入完回車,標准輸入就到了eof
a=getchar()
if a不等於 eof
printf a
收到真麻煩,注意標准輸入是一個文件,你輸入的字元放進一個文件中
H. C語言如何輸入EOF
windows:
首先在最後一行結束後(此時未換行)輸入ENTER鍵,新起一行,再輸入ctrl+z,再輸入時ENTER鍵即可。
Linux:
直接按CTRL+D快捷鍵
示例:
#include<iostream>
using namespce std;
void main()
{
int a;
while(cin >>a)
{
;//循環輸入的代碼塊
}
}
C語言中,當把數據以二進制形式存放到文件中時,就會有-1值的出現,此時不能採用EOF作為二進制文件的結束標志。為解決這個問題,ANSI C提供一個feof函數,用來判斷文件是否結束。
如果遇到文件結束,函數feof(fp)的值為1,否則為0.feof函數既可用以判斷二進制文件是否結束,也可以用以判斷文本文件是否結束。
例如:編寫程序,用於把一個文本文件(源文件)復制到另一個文件(目的文件)中。源文件名為file_a.dat,目的文件名為file_b.dat。程序如下:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
void file(FILE *,FILE *);
main ( )
{
FILE*fpin,*fpout;
fpin =fopen ("file_a.dat","r"); /*打開輸入文件*/
fpout = fopen ("file_b.dat","w"); /*打開輸出文件*/
file( fpin,fpout ); /*把fpin所指文件中的內容輸出到fpout所指文件中*/
fclose ( fpin );fclose ( fpout ); /*關閉輸入輸出文件*/
}
void file( FILE *fpin, FILE *fpout )
{
char ch;
ch = getc ( fpin ); /*先讀一次文件再去判文件是否結束*/
while ( !feof( fpin ) ) /*當未到文件末尾是進行循環*/
{
putc ( ch, fpout ); ch= getc ( fpin );} /*逐個字元進行復制*/
}
I. linux解壓 歸檔文件中異常的 EOF
linux解壓歸檔文件中異常的EOF,是設置錯誤造成的,解決方法如下;
1、首先找到壓縮文件夾,打開文件夾所在的目錄路徑。如果它位於文檔目錄下,打開「文檔」文件夾。
J. eof是什麼意思
EOF是一個計算機術語,為End Of File的縮寫,在操作系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流。通常在文本的最後存在此字元表示資料結束。
在C語言中,或更精確地說成C標准函數庫中表示文件結束符(end of file)。在while循環中以EOF作為文件結束標志,這種以EOF作為文件結束標志的文件,必須是文本文件。
在文本文件中,數據都是以字元的ASCII代碼值的形式存放。我們知道,ASCII代碼值的范圍是0~127,不可能出現-1,因此可以用EOF作為文件結束標志。
工作原理:
從一個終端的輸入從來不會真的「結束」(除非設備被斷開),但把從終端輸入的數據分區成多個「文件」卻很有用,因此一個關鍵的序列被保留下來來指明輸入結束。
在UNIX和AmigaDOS中,將擊鍵翻譯為EOF的過程是由終端的驅動程序完成的,因此應用程序無需將終端和其它輸入文件區分開來。Unix平台的驅動程序在行首傳送一個傳輸結束字元(Control-D,ASCII編碼為為04)來指明文件結束。
在AmigaDOS中,驅動程序傳送一個Control-來指明文件結束(而Control-D被用作中斷字元)。要向輸入流中插入一個真正的Control-D字元,用戶需要把一個「引用」命令字元放在它的前面(通常是Control-V,表示下一個字元不作為控制字元,而是按照字面量使用)。