『壹』 eof是什麼意思
eof在c語言中表示文件結束符。
在while循環中以EOF作為文件結束標志,這種以EOF作為文件結束標志的文件,必須是文本文件。在文本文件中,數據都是以字元的ASCII碼值的形式存放的。
EOF是一個計算機術語,為EndOfFile的縮寫,在操作系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流,通常在文本的最後存在此字元表示資料結束。
C語言簡介
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
C語言不但執行效率高而且可移植性好,可以用來開發應用軟體、驅動、操作系統等。C語言也是其它眾多高級語言的鼻祖語言,所以說學習C語言是進入編程世界的必修課。
『貳』 標識文檔結束的符號是什麼樣的
不同的軟體是不一樣的,例如編輯程序和字處理軟體就不是相同的符號。
『叄』 談談C語言中的結束符EOF
計算機中檢測文件結尾方法的一種方法:在文件的末尾放特殊的字元標記結尾。
在C語言中,使用getchar()讀取文件,檢測到末尾時會返回一個特殊值,即返回EOF。使用
scanf()函數時同樣返回EOF。
我們不需要定義EOF,EOF在頭文件stdio.h中定義,通常EOF被定義為-1。
在進行鍵盤輸入時,同樣可以使用EOF作為輸入的結尾條件,在Windows中就使用快捷鍵Ctrl+z,作為文件結尾信號。如下邊的示例:
上述示例中,在while循環中使用getchar()函數,不斷讀取字元,將讀取到的字元賦值給ch變數,直到輸入EOF字元結束,這里的EOF不能輸入EOF三個字元,在Windows中,當我們輸入Ctrl+z時,就會識別為EOF,就會結束輸入。
『肆』 文件名的最後一個字元可以是空格么
可以是空格。不過空格是無效字元,比如說同一文件夾下有個文件名為1,則文件名為1+空格的文件視為同名。。。不能創建。。。
至於刪不掉,可能是dos下長文件名,在windows下沒顯示出來。。。。。。。。
可能是文件夾病毒。。。。
打開命令提示符。。。
用rd
命令刪除試試。。。(rd
文件名)
如果是隱藏文件。。。
則先用attribute(attrib
-s
-r
-h
文件名)
『伍』 C語言 文件的結束符是什麼玩意
C語言中,文來件結束符就源是EOF(End of File)。但這並不是一個實實在在存在的東西,是一個標志:若讀取到文件末尾的時候,即沒有數據可供讀取的時候,讀文件函數(fgets, fgetc等)就會返回EOF值。
C語言中,EOF是個宏,在stdio.h文件中進行定義:
#define EOF (-1)
即:EOF就是整型數-1。
我們寫程序,可以通過判斷讀文件函數的返回值,來判斷是否到了文件尾。
C語言中,標准輸入也是一種特殊的文件,但這個"文件」並沒有具體的結束位置,所以,只能人為的創造結束位置 :
windows下,在輸入的空行位置,按ctrl+z可產生EOF
linux下,在輸入時,按ctrl+d可產生EOF
『陸』 批量在文件名末尾增加字元
批量在文件名後面添加相同的字元:
步驟1,下載上面的工具後安裝打開,然後點擊左上角的【添加文件】按鈕,批量將文件全部添加到軟體中(打開文件所在文件夾,單擊一個文件,然後同時按住ctrl+A鍵,就可以選中全部文件)。
『柒』 什麼是文件結束符
文件結束符檢測文復件指制針是否已在尾部 EOF
EOF只是一個編譯器事先約定好的常量,不是用來輸入的.
在UNIX系統中用C語言對文件操作,文件結束符用組合鍵表示
EOF()
字元是^D (0x0d)
Win 中是^Z (0x1a)
很多人說是ctrl+z,其實不是,ctrl+z在程序里就是中斷程序,一個快捷鍵而已
『捌』 我想問一下:txt文件的文件結束符EOF是不是就是回車鍵還是其他什麼東西
EOF 是 End Of File 的縮寫。
在C語言中,它是在標准庫中定義的一個宏。#define EOF (-1)
人們經常誤認為 EOF 是從文件中讀取的一個字元。
其實,EOF 不是一個字元,它被定義為是 int 類型的一個負數(-1)。
EOF 也不是文件中實際存在的內容。
EOF 也不是只表示讀文件到了結尾這一狀態(這種狀態可以用 feof() 來檢測),它還能表示 I/O 操作中的讀、寫錯誤(通常可以用 ferror() 來檢測)以及其它一些關聯操作的錯誤狀態。
『玖』 文件結束符EOF
哦,這個不是1樓說的那個樣子的。是文件結束的標志,事實上是-1.可以稍微修改一下樓主的程序來做證明:
while(!in.eof())
{
temp=in.get();
cout<<int(temp)<<endl;
count++;
}
這個時候,會發現在輸出count之前輸出的最後一個是-1.
但是為什麼會輸出-1(也就是文件結束符號)呢?in.eof()返回的是in裡面的EOF變數,這個變數在in讀到文件的結束符時才會變為1。也就是說,只有當in.get()讀過了eof的時候,in中的EOF變數才會編程1,in.get()才能返回1。
那為什麼按照樓主給的代碼裡面的in>>temp寫法,最後會輸出兩個c,而和get的輸出不一樣呢?這個是因為>>在處理的時候,如果碰到讀入的是文件結束符,是不會將其寫道緩存中的,那樣的話,緩存中的字元串還是在讀入eof之前的那個字元(這個代碼裡面也就是'c'),然後再賦值給temp的還是'c'了。
那如何可以比較完美的修改上面的代碼呢?對於文件輸入流來說,有一個指針指向的是當前讀的字元串的下一位,每讀一位,指針就往下移一位。就比如一個只有abc的input.txt的文件,我們現在讀完了c,那麼指針的狀態是大致是下面這個樣子:
a
b
c
EOF<--
注意,這個時候,in.eof()還不返回1,因為in這個輸入流還沒有讀EOF這個文件結束符,但是in有一個函數peek()是讀當前指針指向的這個位置的符號的。那麼如果用in.peek()==EOF來最為判斷的標准就比較好了。樓主的例子寫成
while(in.peek()!=EOF)
{
in>>temp;
cout<<temp<<endl;
count++;
}
就可以了。
順便說一句,第一段代碼裡面while的裡面再嵌一個while沒有必要吧...
還有,無論讀還是寫,最好都要養成在操作完畢調用close()關閉流的好習慣:)