freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

《c程序設(shè)計(jì)文件》ppt課件-文庫(kù)吧

2024-12-31 08:55 本頁(yè)面


【正文】 錯(cuò)就在終端上輸出“ cannot open this file”。 exit函數(shù)的作用是關(guān)閉所有文件,終止正在調(diào)用的過(guò)程。待用戶檢查出錯(cuò)誤,修改后再運(yùn)行。 ? (6) 用以上方式可以打開(kāi)文本文件或二進(jìn)制文件,這是 ANSI C的規(guī)定,用同一種緩沖文件系統(tǒng)來(lái)處理文本文件和二進(jìn)制文件。但目前使用的有些 C編譯系統(tǒng)可能不完全提供所有這些功能 (例如有的只能用“ r”、“ w”、“ a”方式 ),有的 C版本不用“ r+”、“ w+”、“ a+”,而用“ rw”、“ wr”、“ ar”等,請(qǐng)讀者注意所用系統(tǒng)的規(guī)定。 ? (7) 在向計(jì)算機(jī)輸入文本文件時(shí),將回車換行符轉(zhuǎn)換為一個(gè)換行符,在輸出時(shí)把換行符轉(zhuǎn)換成為回車和換行兩個(gè)字符。在用二進(jìn)制文件時(shí),不進(jìn)行這種轉(zhuǎn)換,在內(nèi)存中的數(shù)據(jù)形式與輸出到外部文件中的數(shù)據(jù)形式完全一致,一一對(duì)應(yīng)。 ? (8) 在程序開(kāi)始運(yùn)行時(shí),系統(tǒng)自動(dòng)打開(kāi) 3個(gè)標(biāo)準(zhǔn)文件:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)出錯(cuò)輸出。通常這 3個(gè)文件都與終端相聯(lián)系。因此以前我們所用到的從終端輸入或輸出都不需要打開(kāi)終端文件。系統(tǒng)自動(dòng)定義了 3個(gè)文件指針 stdin、 stdout和 stderr,分別指向終端輸入、終端輸出和標(biāo)準(zhǔn)出錯(cuò)輸 ?也從終端輸出 )。如果程序中指定要從 stdin所指的文件輸入數(shù)據(jù),就是指從終端鍵盤輸入數(shù)據(jù)。 文件的關(guān)閉 (fclose函數(shù) ) ? 在使用完一個(gè)文件后應(yīng)該關(guān)閉它,以防止它再被誤用?!瓣P(guān)閉”就是使文件指針變量不指向該文件, 也就是文件指針變量與文件“脫鉤”,此后不能再通過(guò)該指針對(duì)原來(lái)與其相聯(lián)系的文件進(jìn)行讀寫操作。除非再次打開(kāi),使該指針變量重新指向該文件。 ? 用 fclose函數(shù)關(guān)閉文件。 fclose函數(shù)調(diào)用的一般形式為 ? fclose(文件指針 )。 ? 例如: ? fclose(fp)。 ? 前面我們?cè)汛蜷_(kāi)文件 (用 fopen函數(shù) )時(shí)所帶回的指針賦給了 fp,今通過(guò) fp把該文件關(guān)閉。即 fp不再指向該文件。 ? 應(yīng)該養(yǎng)成在程序終止之前關(guān)閉所有文件的習(xí)慣,如果不關(guān)閉文件將會(huì)丟失數(shù)據(jù)。因?yàn)椋缜八?,在向文件寫?shù)據(jù)時(shí),是先將數(shù)據(jù)輸?shù)骄彌_區(qū),待緩沖區(qū)充滿后才正式輸出給文件。如果當(dāng)數(shù)據(jù)未充滿緩沖區(qū)而程序結(jié)束運(yùn)行,就會(huì)將緩沖區(qū)中的數(shù)據(jù)丟失。用 fclose函數(shù)關(guān)閉文件,可以避免這個(gè)問(wèn)題,它先把緩沖區(qū)中的數(shù)據(jù)輸出到磁盤文件,然后才釋放文件指針變量。 ? fclose函數(shù)也帶回一個(gè)值,當(dāng)順利地執(zhí)行了關(guān)閉操作,則返回值為 0。否則返回 EOF(1)??梢杂胒error函數(shù)來(lái)測(cè)試 (見(jiàn) . 1節(jié) )。 文 件 的 讀 寫 ? 文件打開(kāi)之后,就可以對(duì)它進(jìn)行讀寫了。常用的讀寫函數(shù)如下所述。 fputc函數(shù)和 fgetc函數(shù) (putc函數(shù)和 getc函數(shù) ) 1. fputc函數(shù) ? 把一個(gè)字符寫到磁盤文件上去。其一般調(diào)用形式為 ? fputc(ch, fp)。 ? 其中 ch是要輸出的字符,它可以是一個(gè)字符常量,也可以是一個(gè)字符變量。 fp是文件指針變量。fputc(ch, fp)函數(shù)的作用是將字符 (ch的值 )輸出到fp所指向的文件中去。 fputc函數(shù)也帶回一個(gè)值: ? 如果輸出成功則返回值就是輸出的字符 。如果輸出失敗,則返回一個(gè) EOF(1)。 EOF是在 stdio. h文件中定義的符號(hào)常量,值為 1。在第 4章介紹過(guò)putchar函數(shù),其實(shí) putchar是從 fputc函數(shù)派生出來(lái)的。 putchar(c)是在 define定義的宏: define putchar(c) fputc(c,stdout)前面已敘述, stdout是系統(tǒng)定義的文件指針變量,它與終端輸出相連。 fputc(c瑂 tdout)的作用是將 c的值輸出到終端。用宏 putchar(c)比寫fputc(c, stdout)簡(jiǎn)單一些。從用戶的角度,可以把 putchar(c)看作函數(shù)而不必嚴(yán)格地稱它為宏。 2. fgetc函數(shù) ? 從指定的文件讀入一個(gè)字符,該文件必須是以讀或讀寫方式打開(kāi)的。 fgetc函數(shù)的調(diào)用形式為 ? ch=fgetc(fp)。 ? fp為文件型指針變量, ch為字符變量。 fgetc函數(shù)帶回一個(gè)字符,賦給 ch。如果在執(zhí)行 fgetc函數(shù)讀字符時(shí)遇到文件結(jié)束符,函數(shù)返回一個(gè)文件結(jié)束標(biāo)志 EOF(1)。如果想從一個(gè)磁盤文件順序讀入字符并在屏幕上顯示出來(lái),可以: ch=fgetc(fp)。 while(ch! =EOF) { putchar(ch)。 ch=fgetc(fp)。 } ? 注意: EOF不是可輸出字符,因此不能在屏幕上顯示。由于字符的 ASCII碼不可能出現(xiàn) 1,因此 EOF定義為 1是合適的。當(dāng)讀入的字符值等于 1(即 EOF)時(shí),表示讀入的已不是正常的字符而是文件結(jié)束符。但以上只適用于讀文本文件的情況?,F(xiàn)在 ANSI C已允許用緩沖文件系統(tǒng)處理二進(jìn)制文件,而讀入某一個(gè)字節(jié)中的二進(jìn)制數(shù)據(jù)的值有可能是 1,而這又 恰好是 EOF的值。這就出現(xiàn)了需要讀入有用數(shù)據(jù)而卻被處理為“文件結(jié)束”的情況。為了解決這個(gè)問(wèn)題, ANSI C提供一個(gè) feof函數(shù)來(lái)判斷文件是否真的結(jié)束。 feof(fp)用來(lái)測(cè)試 fp所指向的文件當(dāng)前狀態(tài)是否“文件結(jié)束”。如果是文件結(jié)束,函數(shù) feof(fp)的值為 1(真 ),否則為 0(假 )。 ? 如果想順序讀入一個(gè)二進(jìn)制文件中的數(shù)據(jù),可以用 while(! feof(fp)) { c=fgetc(fp)。 … } ? 當(dāng)未遇文件結(jié)束, feof(fp)的值為 0,! feof(fp)為 1,讀入一個(gè)字節(jié)的數(shù)據(jù)賦給整型變量 c,并接著對(duì)其進(jìn)行所需的處理。直到遇文件結(jié)束, feof(fp)值為1,! feof(fp)值為 0,不再執(zhí)行 while循環(huán)。 ? 這種方法也適用于文本文件。 3. fputc和 fgetc函數(shù)使用舉例 ? 在掌握了以上幾種函數(shù)以后,可以編制一些簡(jiǎn)單的使用文件的程序。 ? 例 ,逐個(gè)把它們送到磁盤上去,直到輸入一個(gè)“ ”為止。 include stdio. h main( ) { FILE fp。 char ch, filename[10]。 scanf(%s, filename)。 if((fp=fopen(filename, w))==NULL) { printf(cannot open file\n)。 exit(0)。} ch=getchar( )。/*此語(yǔ)句用來(lái)接收在執(zhí)行scanf語(yǔ)句時(shí)最后輸入的回車符 */ ch=getchar( )。/*接收輸入的第一個(gè)字符 */ while(ch! =39。39。) { fputc(ch, fp)。putchar(ch)。 ch=getchar()。 } fclose(fp)。 } 運(yùn)行情況如下: file1. c (輸入磁盤文件名 ) puter and c (輸入一個(gè)字符串 ) puter and c (輸出一個(gè)字符串 ) ? 文件名由鍵盤輸入,賦給字符數(shù)組 filename,fopen函數(shù)中的第一個(gè)參數(shù)“文件名”可以直接寫成字符串常量形式 (如“ file1. c”),也可以用字符數(shù)組名,在字符數(shù)組中存放文件名 (如本例所用的方法 )。本例運(yùn)行時(shí),從鍵盤輸入磁盤文件名“ file1. c”,然后輸入要寫入該磁盤文件的字符“ puter and c”,“ ”是表示輸入結(jié)束,程序?qū)ⅰ?puter and c”寫到以“ file1. c”命名的磁盤文件中,同時(shí)在屏幕上顯示這些字符,以便核對(duì)。 ? 可以用 DOS命令將 file1. c文件中的內(nèi)容打印出來(lái):C> type file1. c ? puter and c ? 證明了在 file1. c文件中已存入了“ puter and c”的信息。 ? 例 盤文件中。 include stdio. h main( ) { FILE in out。 char ch, infile[10], outfile[10]。 printf(Enter the infile name: \n)。 scanf(%s, infile)。 printf(Enter the outfile name: \n)。 scanf(%s, outfile)。 if((in=fopen(infile, r))==NULL) { printf(cannot open infile\n)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1