1樓:
沒有什麼特定的結尾符
判斷是否到達結尾一般有下面幾條:
fread返回null
feof返回ture
根據fseek判斷檔案大小
等等^z只是告訴cmd shell檔案輸入結束,在windows下可用,其他地方就不一定了
-----------------
不知道你在**看到這種說法的
讀檔案的時候file結構裡有個標誌當前讀寫位置的指標,如果到檔案尾了還繼續讀,相應的函式會通過返回值告訴你,比如說fread返回null。至於它們如何判斷那是它們自己的事
文字檔案只是可以解釋為文字的特定的二進位制檔案,他們都是一串位元組而已。不信你用winhex之類開啟一個檔案看看,沒有什麼特定的結尾符。而空檔案是0位元組的檔案,更沒有什麼特定的結尾符
----------------------
是老譚書裡這麼說的吧
這個說法太誤導人了。應該是fgetc讀到檔案尾而不是讀到什麼結尾符。eof是什麼你因該很清楚了吧,^z是什麼我看你還不知道:
開啟命令列(就是那種黑視窗),輸入命令:copy con file.txt,意思就是把標準輸入存入檔案file.
txt中,你輸入一些字元後,按住ctrl鍵再按z鍵(按f6等價),然後回車,這個按鍵組合告訴cmd檔案輸入完了,於是生成了file.txt,開啟看看是不是你剛才輸入的?
唉,你這問題就5分,我還花這麼大力氣……這年頭我這樣的好人不多吧
2樓:風若遠去何人留
檔案並沒有固定的結束符。
在c語言中,^z是輸入eof標記的方式,即提供一個通過命令列輸入eof的方式。在實際檔案中,並不存在這個^z.
對於實際的檔案中,出現eof並不是因為讀函式讀到了這樣一個字元,而是c庫函式,通過檔案系統讀取檔案時,發現已經達到檔案結尾,就像看書看到了最後一樣,這時令讀函式返回eof值。
即eof實際上是由讀函式人為新增的返回值,用來代表檔案已經讀到結尾。
3樓:閃客家園
好像不是,我還沒見過這個呢?
c語言問題:對使用者輸入的字元流(以ctrl+z結束)中的行,。。。這裡的ctrl+z怎樣表示?單詞怎樣統計
4樓:幻の上帝
ctrl+z然後回車是windows控制檯輸bai入eof的方法。(du*nix則是ctrl+d。zhi)
eof(end of file)是檔案結束符dao,表示流的終止標專識,在檔案處理中屬常用。
eof在c語言標準庫中定義為一個巨集,替換為整數字面量-1(ascii是0~127,這個值不包含於其中;eof為int型別,為了返回這個值,很多庫函式的返回值都是int而不是char;轉化為char後可能為-1和255,具體是哪個要看編譯器中char型別是否當作有符號數)。包含後可以用(c=getchar())!=eof,直接判斷,這裡c是字元。
如果c是標誌變數,那麼可以用c=getchar()!=eof。
----
ls胡扯,回車符(cr, carriage return)是'\r',ascii是13。
====
[原創回答團]
5樓:墨梓
while(scanf("%d",&n)!=eof)
eof也可以換為-1。
這個輸入就是以ctrl+z結束
6樓:匿名使用者
相當於 回車
ascii : 26
7樓:匿名使用者
(c=getchar())!=-1
c語言讀取檔案裡的資料時的問題,C語言讀取檔案資料
include define size 4 struct student stu size main fclose fp 注意 程式已經除錯過了,執行好好的,請把資料檔案和程式檔案放在同一個資料夾下.printf n d f stu i c1,stu i c2 這樣寫是不對的,因為電腦不會幫你分配成...
c語言ascii的疑問,關於C語言ASCII碼的問題
一個字母加了單引號就表示這個字母是ascii碼,不加單引號就表示變數。如 c a 就相當於c 97,因為a的ascii碼就是97,而c a就表示把a變數的值賦給c 在處理字母大小寫轉換的時候要用到ascii因為大小寫相差32.因為每個字母有相應的ascii。所以字專母可以做運算。也就是屬可以字母加密...
關於c語言的疑問
你 錯誤這也能執行?include 這裡不是,h void main 這裡都是分號沒有,if a if b printf d d d n a,b,c 我測試過 沒出現你說的情況 include void main if a if b printf d d d n a,b,c 樓主可以了 把scanf...