第八單元 自學報告

2021-08-13 01:43:35 字數 3019 閱讀 6726

#include

int main()

#include

void swap(int

*a,int

*b)int main()

if(*p

<*min)min=p;

if(*p>*max)max=p;

}swap(&a[0],min);

swap(&a[9],max);

for(int

*p=a;p10;p++)printf("%d",*p);

return

0;}

#include

char s[1000005];

int main()

printf("%d",cnt);

return

0;}

fopen()和fclose()的用法

fopen()和fclose()的用法1.fopen()函式的用法fopen函式用於開啟檔案, 其呼叫格式為:file *fopen(char *filename, *type);fopen()函式中第乙個形式引數表示檔名, 可以包含路徑和檔名兩部分。如:」b:test.dat」「c:\tc\test.dat」注意:如果將路徑寫成」c:\tc\test.dat」是不正確的, 這一點要特別注意。

fopen函式用來開啟乙個檔案,其呼叫的一般形式為: 檔案指標名=fopen(檔名,使用檔案方式)

其中,「檔案指標名」必須是被說明為file 型別的指標變數,「檔名」是被開啟檔案的檔名。

「使用檔案方式」是指檔案的型別和操作要求。「檔名」是字串常量或字串陣列。例如:

file *fp;

fp=(「file a」,」r」);

其意義是在當前目錄下開啟檔案file a, 只允許進行「讀」操作,並使fp指向該檔案。

又如:

file *fphzk

fphzk=(「c:\hzk16』,」rb」)

其意義是開啟c驅動器磁碟的根目錄下的檔案hzk16, 這是乙個二進位制檔案,只允許按二進位制方式進行讀操作。

兩個反斜線「\ 」中的第乙個表示轉義字元,第二個表示根目錄。使用檔案的方式共有12種,下面給出了它們的符號和意義。

第二個形式引數表示開啟檔案的型別。關於檔案型別的規定參見下表。

字元 含義

────────────────────────────

「r」 開啟文字檔案唯讀

「w」 建立文字檔案只寫

「a」 增補, 如果檔案不存在則建立乙個

「r+」 開啟乙個文字檔案讀/寫

「w+」 建立乙個文字檔案讀/寫

「a+」 開啟或建立乙個檔案增補

「b」 二進位制檔案(可以和上面每一項合用)

「t」 文這檔案(預設項)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

檔案使用方式        意 義

「rt」      唯讀開啟乙個文字檔案,只允許讀資料

「wt」      只寫開啟或建立乙個文字檔案,只允許寫資料

「at」      追加開啟乙個文字檔案,並在檔案末尾寫資料

「rb」      唯讀開啟乙個二進位制檔案,只允許讀資料

「wb」       只寫開啟或建立乙個二進位制檔案,只允許寫資料

「ab」       追加開啟乙個二進位制檔案,並在檔案末尾寫資料

「rt+」      讀寫開啟乙個文字檔案,允許讀和寫

「wt+」      讀寫開啟或建立乙個文字檔案,允許讀寫

「at+」      讀寫開啟乙個文字檔案,允許讀,或在檔案末追加數 據

「rb+」      讀寫開啟乙個二進位制檔案,允許讀和寫

「wb+」      讀寫開啟或建立乙個二進位制檔案,允許讀和寫

「ab+」      讀寫開啟乙個二進位制檔案,允許讀,或在檔案末追加資料

凡用「r」開啟乙個檔案時,該檔案必須已經存在, 且只能從該檔案讀出。

用「w」開啟的檔案只能向該檔案寫入。 若開啟的檔案不存在,則以指定的檔名建立該檔案,若開啟的檔案已經存在,則將該檔案刪去,重建乙個新檔案。

若要向乙個已存在的檔案追加新的資訊,只能用「a 」方式開啟檔案。

在開啟乙個檔案時,如果出錯,fopen將返回乙個空指標值null。在程式中可以用這一資訊來判別是否完成開啟檔案的工作,並作相應的處理。因此常用以下程式段開啟檔案:

if((fp=fopen(「c:\hzk16」,」rb」)==null)

這段程式的意義是,如果返回的指標為空,表示不能開啟c盤根目錄下的hzk16檔案,則給出提示資訊 「error on open c:\ hzk16file!」,下一行getch()的功能是從鍵盤輸入乙個字元,但不在螢幕上顯示。在這裡,該行的作 用是等待, 只有當使用者從鍵盤敲任一鍵時,程式才繼續執行, 因此使用者可利用這個等待時間閱讀出錯提示。敲鍵後執行exit(1)退出程式。

把乙個文字檔案讀入記憶體時,要將ascii碼轉換成二進位製碼, 而把檔案以文字方式寫入磁碟時,也要把二進位製碼轉換成ascii碼,因此文字檔案的讀寫要花費較多的轉換時間。對二進位制檔案的讀寫不存在這種轉換。

標準輸入檔案(鍵盤),標準輸出檔案(顯示器 ),標準出錯輸出(出錯資訊)是由系統開啟的,可直接使用。檔案關閉函式fclose檔案一旦使用完畢,應用關閉檔案函式把檔案關閉, 以避免檔案的資料丟失等錯誤。

如果要開啟乙個ccdos子目錄中, 檔名為clib的二進位制檔案, 可寫成:fopen(「c:\ccdos\clib」, 「rb」);如果成功的開啟乙個檔案, fopen()函式返回檔案指標, 否則返回空指標(null)。由此可判斷檔案開啟是否成功。2. fclose()函式 fclose()函式用來關閉乙個由fopen()函式開啟的檔案 , 其呼叫格式為: nt fclose(file *stream); 該函式返回乙個整型數。當檔案關閉成功時, 返回0, 否則返回乙個非零值。可以根據函式的返回值判斷檔案是否關閉成功。 例子:file *fpout=fopen(「c:\a.txt」,」wt+」);int a=1;fprintf(fpout,」%d」,a);fclose(fpout);

Vi的自學報告

vi是所有的unix like系統都自帶的編輯器,而其他文字編輯器則不一定存在,所以我們用的較多的還是vi。vi具有程式編輯的能力,能以字型的顏色來辨別語法的正確性。而且它雖然歷史悠久,但功能豐富,其中由它發展而來的vim則更是能力強大,如 補全 編譯以及錯誤跳轉等等。所以我就在這裡介紹一下vi v...

設計思維自學報告

推動著這個世界前進的不僅僅只有馬斯克,愛因斯坦那些站立於人類史上頂峰的科學奇才,也不能僅僅依靠幾位傑出的革命家,領導人。在如今這個身邊已經沒有戰火硝煙的年代,技術的進步,科技的發展才是推動整個人類文明前進的方法。然而創新並不是那些擁有出眾才智的人的事情,也是我們每個人可以做的。正所謂 三個臭皮匠,賽...

linux 記憶體管理 自學報告

核心把頁劃分為不同的區 zone 使用區對具有相似特性的頁進行邏輯分組。dma,normal,highmem 高於896m 1g 128m,分配只有page,沒有邏輯位址 後面有加了乙個removal 核心分配可以用alloc page,get zoroed page或者kmalloc 函式 gfp...