⑴ c語言里有幾種文件格式有「.c」文件格式嗎
主要是兩種文件類型:1)文本文件,2)二進制文件。
一般來說,人類可讀的文件都作為文本文件,例如一片文章。其餘都作為二進制文件,例如一個程序。
在C語言中,文件的操作是通過FILE結構體進行了,利用fopen返回一個指向FILE結構體的指針,在使用fopen函數過程中,使用mode控制符對是否打開哪類文件進行控制:
FILE *fopen( const char *filename, const char *mode );
filename:文件名,mode:打開的模式,規定了是可讀、可寫、追加之類的屬性。
r 以只讀方式打開文件,該文件必須存在。
r+ 以可讀寫方式打開文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。
如果調用失敗,返回一個空指針。
⑵ C語言Ctrl+z是EOF么
C語言中,EOF即文檔的結尾.但是,當你寫一個小程序,並以EOF作為判斷條件時,就無法輸入文檔的結尾了,只能人工輸入一個,這個人工輸入的文檔結尾就是Ctrl+Z
比如:
#include
<stdio.h>
int
main()
{
int
c;
do
{
printf("請輸入文檔的結尾標志");
}while((c=getchar())!=EOF);
printf("已得到文檔結束標志");
return
0;
}
當程序運行的時候,沒有文檔結尾,只能找一個命令來替代文檔結尾,那就是Ctrl+z
如上面的一段程序,當你輸入Ctrl+z的時候,程序提示已得到文檔結束標志
⑶ 求C語言EOF和Ctrl+Z,到底是怎麼回事。要EOF到正確用法最好有例子。
暈啊,這兩個沒有什麼關系吧?eof是文件結束符,也就是一個文件的結束符號,就比如c語言字元串是以\0結尾一樣,一般eof使用在讀取文件的時候如果讀到了文件末尾那麼這個讀文件退出。當然你可以使用eof的宏定義的值做其他的事情。
而ctrl+Z這是一個外部操作,不依賴於程序內部哇。從原來上來說這是通過信號量實現來實現的,這個是操作系統層面的東西哦,樓主對信號量有概念不?程序的運作過程中,你使用ctrl+Z,操作系統會產生一個信號發送給進程,進程可以捕獲此信號做操作的。如果沒有捕獲那麼調用操作系統默認的操作,ctrl+C就是結束進程。
⑷ C語言源程序文件名的後綴是什麼
是.cpp,查看方法:
1、打開C語言的ide,比較常用的dev c++,如下圖所示
⑸ C語言頭文件後綴都有哪些~~
#include <文件名>
編譯器是通過文件名把文件展開,它是不認文件名是不是.h結尾,換句話,只要是合法的文件名均可以.
PS:另外,文件名不一定有後綴名,在linux系統到處都是沒有後綴的文件名。比如MakeFile.
⑹ C語言文件名命名有什麼規則么
C語言文件名命名只要符合標識符命名規則即可,另外,頭文件以".h"為後綴,源文件以".c"為後綴。
C語言標識符命名規則:
標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。
不能把C語言關鍵字作為用戶標識符,例如if ,for, while等.
標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。
標識符對大小寫敏感,即嚴格區分大小寫。一般對變數名用小寫,符號常量命名用大寫。
標識符命名應做到「見名知意」,例如,長度(外語:length),求和、總計(外語:sum),圓周率(外語:pi)……
⑺ 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
⑻ C語言怎麼判斷文件的行尾
fgets()函數,讀出來,如果有行尾,最後一個是'\n'之後是結束符
gets()從鍵盤讀取一行會把換行符丟棄,但是fgets()不會丟棄,換行符是文件內容之一,如果一行太大,分幾次讀了,前幾次都沒有'\n『 一個'\n'也可以看做是一個段的結束符。
要用文本方式打開文件,找到'\n'就是行尾了,如果用二進制方式打開,則可能是'\r'和'\n'兩個字元,讀和寫都用文本方式,讀出來只要處理'\n'就可以
把行緩沖區定到夠大,如10240,這樣一次最多讀10240位元組,一般地都可以一次一整行了,除非10K以上的大段落舉例:
#define YOURFILEPATH "D:\\test.txt"
char buf[1024];
FILE* rp;
if((rp=fopen(YOURFILEPATH,"rt"))==NULL){printf("文件%s打開失敗",YOURFILEPATH);exit(1);}
while(!feof(rp)){
if(fgets(buf,10240,rp)==buf) printf(buf); //一次一行 讀出來打到屏幕上
}
⑼ c語言寫系統代碼都是以什麼結尾
看了你寫的幾個函數名之後 我猜測你可能寫的 學生信息管理系統
寫代碼 沒有什麼標準式的結尾,要是你說代碼符號的話,那就是函數結束的反括弧「 } 」了吧
看了你圖片中的代碼後給個建議吧,代碼一定要注意規范性,在寫下一個 「 { 」 後,後面的內容都將它們往後移動幾個空格,直到「 } 」為止,這樣有助於代碼的觀看和查找錯誤