c語言裡的疑問,所有檔案都是以z結尾的嗎

2021-07-02 04:13:33 字數 1786 閱讀 1450

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...