99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

c語言EOF在哪個(gè)庫函數(shù) c++eof函數(shù)

c語言中的EOF

EOF是End Of File的意思,在C語言中定義的一個(gè)宏,用作文件結(jié)束標(biāo)志。從數(shù)值角度看,就是-1。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大方免費(fèi)建站歡迎大家使用!

從一個(gè)終端的輸入從來不會(huì)真的“結(jié)束”(除非設(shè)備被斷開),但把從終端輸入的數(shù)據(jù)分區(qū)成多個(gè)“文件”卻很有用,因此一個(gè)關(guān)鍵的序列被保留下來來指明輸入結(jié)束。

在UNIX和AmigaDOS中,將擊鍵翻譯為EOF的過程是由終端的驅(qū)動(dòng)程序完成的,因此應(yīng)用程序無需將終端和其它輸入文件區(qū)分開來。

Unix平臺(tái)的驅(qū)動(dòng)程序在行首傳送一個(gè)傳輸結(jié)束字符(Control-D,ASCII編碼為為04)來指明文件結(jié)束。

在AmigaDOS中,驅(qū)動(dòng)程序傳送一個(gè)Control-\來指明文件結(jié)束(而Control-D被用作中斷字符)。要向輸入流中插入一個(gè)真正的Control-D字符,用戶需要把一個(gè)“引用”命令字符放在它的前面(通常是Control-V,表示下一個(gè)字符不作為控制字符,而是按照字面量使用)。

在微軟的DOS和Windows(以及CP/M和許多DEC操作系統(tǒng))中,讀取數(shù)據(jù)時(shí)終端不會(huì)產(chǎn)生EOF。此時(shí),應(yīng)用程序知道數(shù)據(jù)源是一個(gè)終端(或者其它“字符設(shè)備”),并將一個(gè)已知的保留的字符或序列解釋為文件結(jié)束的指明;最普遍地說,它是ASCII碼中的替換字符(Control-Z,代碼26)。

一些MS-DOS程序,包括部分微軟MS-DOS的shell(COMMAND.COM)和操作系統(tǒng)功能程序(如EDLIN),將文本文檔中的Control-Z視為有意義數(shù)據(jù)的結(jié)尾,并且/或者在寫入文本文檔時(shí)將Control-Z添加到文檔末尾。這是由于兩個(gè)原因:

1、向后兼容CP/M。CP/M的第1版與第2版的文件系統(tǒng)以128字節(jié)“塊”的倍數(shù)記錄文件長(zhǎng)度,所以當(dāng)有意義數(shù)據(jù)在一個(gè)“塊”的中間結(jié)束時(shí),習(xí)慣上用Control-Z字符來標(biāo)記它,此后至塊結(jié)尾的字節(jié)為未利用。而MS-DOS文件系統(tǒng)總會(huì)記錄文件確切的字節(jié)長(zhǎng)度,所以在MS-DOS中文件不再必需以Control-Z字符來標(biāo)記結(jié)尾。

2、它使得應(yīng)用程序在從終端和文本文檔讀取數(shù)據(jù)時(shí)得以使用相同的代碼。

概念:

在C語言中,或更精確地說成C標(biāo)準(zhǔn)函數(shù)庫中表示文件結(jié)束符(end of file)。在while循環(huán)中以EOF作為文件結(jié)束標(biāo)志,這種以EOF作為文件結(jié)束標(biāo)志的文件,必須是文本文件。在文本文件中,數(shù)據(jù)都是以字符的ASCII代碼值的形式存放。我們知道,ASCII代碼值的范圍是0~127,不可能出現(xiàn)-1,因此可以用EOF作為文件結(jié)束標(biāo)志。

應(yīng)用:

檔案存取或其它 I/O 功能可能傳回等于象征符號(hào)值 (巨集) EOF 指示檔案結(jié)束的情形發(fā)生。實(shí)際上 EOF 的值通常為 -1,但它依系統(tǒng)有所不同。巨集 EOF會(huì)在編譯原始碼前展開實(shí)際值給預(yù)處理器。

C語言中,EOF常被作為文件結(jié)束的標(biāo)志。還有很多文件處理函數(shù)處錯(cuò)誤后的返回值也是EOF,因此常被用來判斷調(diào)用一個(gè)函數(shù)是否成功。

例如:

在 UNIX中, EOF表示能從交互式 shell (終端) 送出 Ctrl+D (習(xí)慣性標(biāo)準(zhǔn))。在微軟的 DOS 與 Windows 中能送出 Ctrl+Z。在某些例子處理純文字檔案或從"字元設(shè)備"讀入資料,微軟MS-DOS的 shell 或系統(tǒng)程序會(huì)加入ASCIIControl-Z 字元到磁碟檔案結(jié)束處 (盡管基本核心MSDOS.SYS檔案寫入呼叫從未附加 Control-Z)。這是向下相容于一些奇特的CP/M功能,從CP/M 檔案系統(tǒng)只能就記錄的檔案長(zhǎng)度分配多少 128 位元 "記錄"。MS-DOS 檔案系統(tǒng)從一開始就能精確的記錄檔案的位元長(zhǎng)度。

ASCII控制字符在字元串流是 out-of-band 不可列印字元。通常表可讀的助憶碼。

在控制臺(tái)要輸入eof的話 按ALT+65535就可以了。

與feof:

C語言中,當(dāng)把數(shù)據(jù)以二進(jìn)制形式存放到文件中時(shí),就會(huì)有-1值的出現(xiàn),此時(shí)不能采用EOF作為二進(jìn)制文件的結(jié)束標(biāo)志。為解決這個(gè)問題,ANSI C提供一個(gè)feof函數(shù),用來判斷文件是否結(jié)束。如果遇到文件結(jié)束,函數(shù)feof(fp)的值為1,否則為0.feof函數(shù)既可用以判斷二進(jìn)制文件是否結(jié)束,也可以用以判斷文本文件是否結(jié)束。[1]

例如:編寫程序,用于把一個(gè)文本文件(源文件)復(fù)制到另一個(gè)文件(目的文件)中。源文件名為file_a.dat,目的文件名為file_b.dat。程序如下:

EOF 函數(shù):

返回一個(gè)數(shù)值(整數(shù)類型Integer),它包含布爾值Boolean值True,表明已經(jīng)到達(dá)為Random(Open語句方法)或順序Input (Open 語句方法)打開的文件的結(jié)尾。

語法:

EOF(filenumber)

必要的filenumber參數(shù)是一個(gè)Integer,包含任何有效的文件號(hào)。

說明:

EOF (End Of File)

使用EOF是為了避免因試圖在文件結(jié)尾處進(jìn)行輸入而產(chǎn)生的錯(cuò)誤。

直到到達(dá)文件的結(jié)尾,EOF函數(shù)都返回False。對(duì)于為訪問Random或Binary而打開的文件,直到最后一次執(zhí)行的Get語句無法讀出完整的記錄時(shí),EOF都返回False。

C語言如何輸入EOF

windows:

首先在最后一行結(jié)束后(此時(shí)未換行)輸入ENTER鍵,新起一行,再輸入ctrl+z,再輸入時(shí)ENTER鍵即可。?

Linux:

直接按CTRL+D快捷鍵

示例:

#includeiostream

using namespce std;

void main()

{

int? a;

while(cin a)

{

;//循環(huán)輸入的代碼塊

}

}

擴(kuò)展資料:

C語言中,當(dāng)把數(shù)據(jù)以二進(jìn)制形式存放到文件中時(shí),就會(huì)有-1值的出現(xiàn),此時(shí)不能采用EOF作為二進(jìn)制文件的結(jié)束標(biāo)志。為解決這個(gè)問題,ANSI C提供一個(gè)feof函數(shù),用來判斷文件是否結(jié)束。

如果遇到文件結(jié)束,函數(shù)feof(fp)的值為1,否則為0.feof函數(shù)既可用以判斷二進(jìn)制文件是否結(jié)束,也可以用以判斷文本文件是否結(jié)束。

例如:編寫程序,用于把一個(gè)文本文件(源文件)復(fù)制到另一個(gè)文件(目的文件)中。源文件名為file_a.dat,目的文件名為file_b.dat。程序如下:

#include stdio.h

#include sys/types.h

#include sys/stat.h

#include fcntl.h

void filecopy(FILE *,FILE *);

main ( )

{

FILE*fpin,*fpout;

fpin =fopen ("file_a.dat","r"); /*打開輸入文件*/

fpout = fopen ("file_b.dat","w"); /*打開輸出文件*/

filecopy( fpin,fpout ); /*把fpin所指文件中的內(nèi)容輸出到fpout所指文件中*/

fclose ( fpin );fclose ( fpout ); /*關(guān)閉輸入輸出文件*/

}

void filecopy( FILE *fpin, FILE *fpout )

{

char ch;

ch = getc ( fpin ); /*先讀一次文件再去判文件是否結(jié)束*/

while ( !feof( fpin ) ) /*當(dāng)未到文件末尾是進(jìn)行循環(huán)*/

{

putc ( ch, fpout ); ch= getc ( fpin );} /*逐個(gè)字符進(jìn)行復(fù)制*/

}

C語言中EOF是什么意思啊?具體怎么運(yùn)用啊?

eof定義在頭文件stdio,h中,值是整形數(shù)-1。

eof

=

end

of

file,意思是文件結(jié)束,當(dāng)讀一個(gè)文件讀到文件最后時(shí),讀文件的函數(shù)(比如函數(shù)fgetc(file

*fp))就會(huì)返回這個(gè)常量。

在c語言中,鍵盤也作為文件處理,鍵盤的流指針是stdin。比如常用函數(shù)scanf(),返回成功讀入的數(shù)據(jù)個(gè)數(shù),如果沒有任何數(shù)據(jù)被成功讀入,則返回eof。

文章名稱:c語言EOF在哪個(gè)庫函數(shù) c++eof函數(shù)
當(dāng)前URL:http://www.yijiale78.com/article40/dodcdeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作搜索引擎優(yōu)化響應(yīng)式網(wǎng)站定制網(wǎng)站做網(wǎng)站品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)