




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C
語言程序設計第
8
章文件煙臺大學計算機學院劉培華1C語言程序設計第8章文件煙臺大學計算機學院劉第8章文件8.1文件的概念8.2文本文件的讀寫8.3文件的讀寫2023/1/12第8章文件8.1文件的概念2022/12/262文件:存儲在外部存儲介質(zhì)上相關(guān)數(shù)據(jù)的集合。 例如:程序文件中保存著程序,數(shù)據(jù)文件中保存著數(shù)據(jù)。 *.C
C語言的源程序 文本文件
*.OBJ
目標文件 二進制文件
*.EXE
可執(zhí)行文件 二進制文件文件的存儲特性
文件是一個有序的數(shù)據(jù)序列。C語言把文件作為一個字符(字節(jié))序列處理,對文件的存取是以字符(字節(jié))為單位進行的。
8.1文件的概述8.1.1文件和文件指針1.什么是文件
2023/1/13文件:存儲在外部存儲介質(zhì)上相關(guān)數(shù)據(jù)的集合。8.1文件的概述按文件存儲數(shù)據(jù)的形式ASCII文件(或稱文本文件)
ASCII碼文件中每個字節(jié)存放一個ASCII代碼,代表一個字符,此種存儲形式便于輸出顯示,在DOS操作系統(tǒng)下可以直接閱讀。二進制文件
二進制文件中的數(shù)據(jù)是按照在內(nèi)存中的二進制存儲格式存放的,此種存儲形式節(jié)省存儲單元。二進制文件在DOS操作系統(tǒng)下不能直接閱讀。8.1文件的概述8.1.1文件和文件指針2.文件的種類
2023/1/14按文件存儲數(shù)據(jù)的形式8.1文件的概述8.1.1文件和文件例如將短整數(shù)1949分別存儲在這兩種數(shù)據(jù)文件中。ASCII文件:ASCII碼二進制文件:補碼占用4個字節(jié)占用2個字節(jié)8.1文件的概述8.1.1文件和文件指針2.文件的種類
00110001001110010011010000111001'1''9''4''9'00000111100111012023/1/15例如將短整數(shù)1949分別存儲在這兩種數(shù)據(jù)文件中。ASCII文按照對文件的處理方式緩沖文件
利用緩沖文件系統(tǒng)處理的文件稱為緩沖文件。系統(tǒng)處理方法是在內(nèi)存中為每個正在使用的緩沖文件開辟一個緩沖區(qū),其大小是512個字節(jié)。對文件讀寫數(shù)據(jù)都通過緩沖區(qū)進行。非緩沖文件利用非緩沖文件系統(tǒng)處理的文件稱為非緩沖文件。系統(tǒng)處理非緩沖文件時,不為文件開辟緩沖區(qū),需要程序員自行設計并管理緩沖區(qū)。83年以后ANSIC標準中取消了非緩沖文件
系統(tǒng),對文本文件和二進制文件均采用緩沖文
件系統(tǒng)進行處理。8.1文件的概述8.1.1文件和文件指針2.文件的種類
2023/1/16按照對文件的處理方式83年以后ANSIC標準中取消
系統(tǒng)對文件的處理過程就是對文件進行輸入/輸出操作的過程。從文件讀數(shù)據(jù)時,先一次性從磁盤文件中讀取一批數(shù)據(jù)到緩沖區(qū),然后再從緩沖區(qū)逐個將數(shù)據(jù)送入變量。向文件寫數(shù)據(jù)時,也是先將變量中數(shù)據(jù)送到緩沖區(qū),待緩沖區(qū)裝滿后,再一起存到磁盤文件中。8.1文件的概述8.1.1文件和文件指針3.緩沖文件和文件指針
磁盤文件
輸出
輸入圖10.2系統(tǒng)對緩沖文件的處理
輸入輸出程序區(qū)數(shù)據(jù)區(qū)文件
緩沖區(qū)外存內(nèi)存2023/1/17系統(tǒng)對文件的處理過程就是對文件進行輸入/輸出操作的8.1文件的概述8.1.1文件和文件指針3.緩沖文件和文件指針
文件類型指針
在緩沖文件系統(tǒng)中,對每個正在使用的文件都自動分配一個FILE類型的結(jié)構(gòu)體變量,用于存放文件的有關(guān)信息,如文件號、文件狀態(tài)、緩沖區(qū)地址和大小等。
FILE類型是系統(tǒng)定義的,包含在stdio.h頭文件中 在C語言中,無論對磁盤文件還是設備文件的讀/寫都要通過FILE類型的結(jié)構(gòu)體變量進行。因此對于每個使用中的磁盤文件必須先定義一個FILE類型的文件指針變量并指向此變量。
FILE
*文件指針變量名;typedefstruct{shortlevel;/*緩沖區(qū)滿或空的程度*/unsignedflags;/*文件狀態(tài)標志*/charfd;/*文件描述符*/unsignedcharhold;/*如無緩沖區(qū)不讀取字符*/shortbsize;/*緩沖區(qū)的大小*/unsignedchar*buffer;/*數(shù)據(jù)緩沖區(qū)的位置*/unsignedchar*curp;/*指針,當前的指向*/unsignedistemp;/*臨時文件指示器*/shorttoken;/*用于有效性檢查*/}FILE;/*文件結(jié)構(gòu)類型名*/2023/1/188.1文件的概述8.1.1文件和文件指針3.緩沖文件和
標準文件是外部設備中的三個特殊的設備文件。它們的文件指針是系統(tǒng)定義的,并由系統(tǒng)自動打開和關(guān)閉。這三個標準文件分別是:①標準輸入文件,文件指針為stdin,系統(tǒng)指定為鍵盤。②標準輸出文件,文件指針為stdout,系統(tǒng)指定為顯示器。③標準錯誤輸出文件,文件指針為stderr,系統(tǒng)指定為顯示器,輸出錯誤信息。8.1文件的概述8.1.1文件和文件指針4.標準文件
2023/1/19 標準文件是外部設備中的三個特殊的設備文件。它們的文8.1文件的概述8.1.2文件的打開與關(guān)閉操作文件的一般步驟
打開文件
讀寫文件
關(guān)閉文件打開文件:建立用戶程序與文件的聯(lián)系,為文件分
配一個文件緩沖區(qū)。讀寫文件:是指對文件的讀、寫、追加和定位操作。關(guān)閉文件:切斷文件與程序的聯(lián)系,釋放文件緩沖
區(qū)。
C語言的輸入輸出函數(shù)庫中提供了大量的函數(shù),用于完成對數(shù)據(jù)文件的建立、數(shù)據(jù)的讀寫、數(shù)據(jù)的追加等操作。在程序中調(diào)用這些函數(shù)時,必須先用include命令包含stdio.h文件。
2023/1/1108.1文件的概述8.1.2文件的打開與關(guān)閉操作文件的一般常用的調(diào)用形式:
FILE
*fp;fp=fopen(文件名,文件使用方式);
文件名:需要打開的文件名稱(字符串)。
文件使用方式:是具有特定含義的符號。8.1文件的概述8.1.2文件的打開與關(guān)閉1.文件打開函數(shù)fopen(
)函數(shù)功能:
按指定的文件使用方式打開指定的文件。若文件打開成功,為該文件分配一個文件緩沖區(qū)和一個FILE類型變量,返回一個FILE類型指針;
若文件打開失敗,返回NULL。2023/1/111常用的調(diào)用形式:8.1文件的概述8.1.2文件的打開文本文件的三種基本使用方式”r”:只讀方式
為讀(輸入)文本文件打開文件。若文件不存在,返回NULL。”w”:只寫方式
為寫(輸出)文本文件打開文件。若文件不存在,則建立一個新文件;若文件已存在,則清空文件?!盿”:追加方式為寫(輸出)文本文件打開文件。若文件已存在,則保持原來文件的內(nèi)容,將新的數(shù)據(jù)增加到原來數(shù)據(jù)的后面;若文件不存在,則返回NULL。8.1文件的概述8.1.2文件的打開與關(guān)閉2023/1/112文本文件的三種基本使用方式8.1文件的概述8.1.2二進制文件的三種基本使用方式”rb”:只讀方式
為讀(輸入)二進制文件打開文件。若文件不存在,返回NULL?!眞b”:只寫方式
為寫(輸出)二進制文件打開文件。若文件不存在,則建立一個新文件;若文件已存在,則清空文件?!盿b”:追加方式為寫(輸出)二進制文件打開文件。若文件已存在,則保持原來文件的內(nèi)容,將新的數(shù)據(jù)增加到原來數(shù)據(jù)的后面;若文件不存在,則返回NULL。8.1文件的概述8.1.2文件的打開與關(guān)閉2023/1/113二進制文件的三種基本使用方式8.1文件的概述8.1.8.1文件的概述8.1.2文件的打開與關(guān)閉文件的其他打開方式
”r+”:可以對文本文件進行讀/寫操作。若文件不存在返回NULL;若文件存在內(nèi)容不被清空。
”w+”:可以對文本文件進行讀/寫操作。 若文件已經(jīng)存在,則先清空文件原來的內(nèi)容。
”a+”:可以對文本文件進行讀/追加操作。文件內(nèi)容不會清空。
”rb+”:可以對二進制文件進行讀/寫操作。
”wb+”:可以對二進制文件進行讀/寫操作。
”ab+”:可以對二進制文件進行讀/追加操作。2023/1/1148.1文件的概述8.1.2文件的打開與關(guān)閉文件的其檢查文件打開操作是否成功
if((fp=fopen("filename","r"))==NULL){cout<<”Cannotopenfile.”<<endl;
exit(0); }
檢查以只讀方式打開文件名為filename的文件是否成功。
exit函數(shù)的作用:結(jié)束程序的執(zhí)行,并將實參0作為函數(shù)返回值傳給操作系統(tǒng)。
8.1文件的概述8.1.2文件的打開與關(guān)閉2023/1/115檢查文件打開操作是否成功8.1文件的概述8.1.2常用的調(diào)用形式:
FILE
*fp;fclose(fp);fp:已經(jīng)打開的文件指針。8.1文件的概述8.1.2文件的打開與關(guān)閉2.文件關(guān)閉函數(shù)fclose(
)函數(shù)功能:關(guān)閉fp指定的文件,釋放該文件的緩沖區(qū)、FILE類型變量及文件指針。若文件關(guān)閉成功,則返回0;若文件關(guān)閉失敗,則返回非0值。2023/1/116常用的調(diào)用形式:8.1文件的概述8.1.2文件的打開常用的調(diào)用形式:
FILE
*fp;fputc(ch,fp);
ch:需要輸出的字符,可以是字符常量或字符變量;fp:文件指針變量。對文本文件的讀寫操作,必須按文件中字符的先后順序進行,只能在操作了第i個字符之后,才能操作第i+1個字符。在對文件操作時,文件的讀寫指針由系統(tǒng)自動向后移動。8.2文本文件的讀寫8.2.1文件的字符輸入輸出函數(shù)1.字符輸出函數(shù)fputc(
)(或putc(
))函數(shù)功能:
將一個字符(ASCII碼)寫入到fp所指向的文件(該文件必須是以寫或讀寫方式打開的)中。若輸出操作成功,函數(shù)返回寫入的字符;否則,返回EOF。系統(tǒng)定義的文本文件結(jié)束標志,其值為(-1)。
2023/1/117常用的調(diào)用形式:對文本文件的讀寫操作,必須按文件中字常用的調(diào)用形式:
FILE
*fp;
ch
=fgetc(fp);
ch:可以是字符變量或整型變量;fp:文件指針變量。8.2文本文件的讀寫8.2.1文件的字符輸入輸出函數(shù)2.字符輸入函數(shù)fgetc(
)(或getc(
))函數(shù)功能:從fp所指向的文件(該文件必須是以讀或讀寫方式打開的)中讀取一個字符。若輸入操作成功,函數(shù)返回讀入的字符;若文件結(jié)束或輸入操作失敗,則返回EOF。2023/1/118常用的調(diào)用形式:8.2文本文件的讀寫8.2.1文件的【例8.1】利用fputc和fgetc函數(shù)建立一個文本文件,并顯示文件中的內(nèi)容。#include<stdio.h>main(){FILE*fp;/*定義一個文件指針變量fp*/intc;/*c為存放字符的變量*/
charfilename[40];/*filename用于存放數(shù)據(jù)文件名*/
cout<<"filename:";/*提示輸入磁盤文件名*/
gets(filename);
if((fp=fopen(filename,"w"))==NULL)
{cout<<"Can'topenthe"<<filename<<endl;
exit(0);}8.2文本文件的讀寫8.2.1文件的字符輸入輸出函數(shù)測試打開文件是否成功2023/1/119【例8.1】利用fputc和fgetc函數(shù)建立一個文本文件,while((c=getchar())!=EOF)/*鍵盤文件結(jié)束標志:輸入Ctrl+z,顯示^Z后回車*/
putc(c,fp);/*將鍵盤輸入的字符寫到文件中*/fclose(fp);/*建立文件結(jié)束,關(guān)閉文件*/cout<<"outfile:“<<endl;fp=fopen(filename,"r");/*以讀方式打開文本文件*/while((c=getc(fp))!=EOF)/*未讀到文件結(jié)束標志時*/
putchar(c);/*在顯示器顯示讀出的字符*/fclose(fp);/*讀文件結(jié)束,關(guān)閉文件*/}8.2文本文件的讀寫8.2.1文件的字符輸入輸出函數(shù)2023/1/120while((c=getchar())!=EOF)8.28.3文件的讀寫8.3.1文件的其它輸入輸出函數(shù)1.字符串輸出函數(shù)fputs(
)2.字符串輸入函數(shù)fgets(
)
3.格式輸出函數(shù)fprintf(
)
4.格式輸入函數(shù)fscanf(
)
5.字輸出函數(shù)putw(
)
6.字輸入函數(shù)getw(
)
7.數(shù)據(jù)塊輸出函數(shù)fwrite(
)
8.數(shù)據(jù)塊輸入函數(shù)fread(
)2023/1/1218.3文件的讀寫8.3.1文件的其它輸入輸出函數(shù)作業(yè)與實驗實驗p58實驗11:作業(yè)習題:p255 一、
二2023/1/122作業(yè)與實驗實驗p582022/12/2622C
語言程序設計第
8
章文件煙臺大學計算機學院劉培華23C語言程序設計第8章文件煙臺大學計算機學院劉第8章文件8.1文件的概念8.2文本文件的讀寫8.3文件的讀寫2023/1/124第8章文件8.1文件的概念2022/12/262文件:存儲在外部存儲介質(zhì)上相關(guān)數(shù)據(jù)的集合。 例如:程序文件中保存著程序,數(shù)據(jù)文件中保存著數(shù)據(jù)。 *.C
C語言的源程序 文本文件
*.OBJ
目標文件 二進制文件
*.EXE
可執(zhí)行文件 二進制文件文件的存儲特性
文件是一個有序的數(shù)據(jù)序列。C語言把文件作為一個字符(字節(jié))序列處理,對文件的存取是以字符(字節(jié))為單位進行的。
8.1文件的概述8.1.1文件和文件指針1.什么是文件
2023/1/125文件:存儲在外部存儲介質(zhì)上相關(guān)數(shù)據(jù)的集合。8.1文件的概述按文件存儲數(shù)據(jù)的形式ASCII文件(或稱文本文件)
ASCII碼文件中每個字節(jié)存放一個ASCII代碼,代表一個字符,此種存儲形式便于輸出顯示,在DOS操作系統(tǒng)下可以直接閱讀。二進制文件
二進制文件中的數(shù)據(jù)是按照在內(nèi)存中的二進制存儲格式存放的,此種存儲形式節(jié)省存儲單元。二進制文件在DOS操作系統(tǒng)下不能直接閱讀。8.1文件的概述8.1.1文件和文件指針2.文件的種類
2023/1/126按文件存儲數(shù)據(jù)的形式8.1文件的概述8.1.1文件和文件例如將短整數(shù)1949分別存儲在這兩種數(shù)據(jù)文件中。ASCII文件:ASCII碼二進制文件:補碼占用4個字節(jié)占用2個字節(jié)8.1文件的概述8.1.1文件和文件指針2.文件的種類
00110001001110010011010000111001'1''9''4''9'00000111100111012023/1/127例如將短整數(shù)1949分別存儲在這兩種數(shù)據(jù)文件中。ASCII文按照對文件的處理方式緩沖文件
利用緩沖文件系統(tǒng)處理的文件稱為緩沖文件。系統(tǒng)處理方法是在內(nèi)存中為每個正在使用的緩沖文件開辟一個緩沖區(qū),其大小是512個字節(jié)。對文件讀寫數(shù)據(jù)都通過緩沖區(qū)進行。非緩沖文件利用非緩沖文件系統(tǒng)處理的文件稱為非緩沖文件。系統(tǒng)處理非緩沖文件時,不為文件開辟緩沖區(qū),需要程序員自行設計并管理緩沖區(qū)。83年以后ANSIC標準中取消了非緩沖文件
系統(tǒng),對文本文件和二進制文件均采用緩沖文
件系統(tǒng)進行處理。8.1文件的概述8.1.1文件和文件指針2.文件的種類
2023/1/128按照對文件的處理方式83年以后ANSIC標準中取消
系統(tǒng)對文件的處理過程就是對文件進行輸入/輸出操作的過程。從文件讀數(shù)據(jù)時,先一次性從磁盤文件中讀取一批數(shù)據(jù)到緩沖區(qū),然后再從緩沖區(qū)逐個將數(shù)據(jù)送入變量。向文件寫數(shù)據(jù)時,也是先將變量中數(shù)據(jù)送到緩沖區(qū),待緩沖區(qū)裝滿后,再一起存到磁盤文件中。8.1文件的概述8.1.1文件和文件指針3.緩沖文件和文件指針
磁盤文件
輸出
輸入圖10.2系統(tǒng)對緩沖文件的處理
輸入輸出程序區(qū)數(shù)據(jù)區(qū)文件
緩沖區(qū)外存內(nèi)存2023/1/129系統(tǒng)對文件的處理過程就是對文件進行輸入/輸出操作的8.1文件的概述8.1.1文件和文件指針3.緩沖文件和文件指針
文件類型指針
在緩沖文件系統(tǒng)中,對每個正在使用的文件都自動分配一個FILE類型的結(jié)構(gòu)體變量,用于存放文件的有關(guān)信息,如文件號、文件狀態(tài)、緩沖區(qū)地址和大小等。
FILE類型是系統(tǒng)定義的,包含在stdio.h頭文件中 在C語言中,無論對磁盤文件還是設備文件的讀/寫都要通過FILE類型的結(jié)構(gòu)體變量進行。因此對于每個使用中的磁盤文件必須先定義一個FILE類型的文件指針變量并指向此變量。
FILE
*文件指針變量名;typedefstruct{shortlevel;/*緩沖區(qū)滿或空的程度*/unsignedflags;/*文件狀態(tài)標志*/charfd;/*文件描述符*/unsignedcharhold;/*如無緩沖區(qū)不讀取字符*/shortbsize;/*緩沖區(qū)的大小*/unsignedchar*buffer;/*數(shù)據(jù)緩沖區(qū)的位置*/unsignedchar*curp;/*指針,當前的指向*/unsignedistemp;/*臨時文件指示器*/shorttoken;/*用于有效性檢查*/}FILE;/*文件結(jié)構(gòu)類型名*/2023/1/1308.1文件的概述8.1.1文件和文件指針3.緩沖文件和
標準文件是外部設備中的三個特殊的設備文件。它們的文件指針是系統(tǒng)定義的,并由系統(tǒng)自動打開和關(guān)閉。這三個標準文件分別是:①標準輸入文件,文件指針為stdin,系統(tǒng)指定為鍵盤。②標準輸出文件,文件指針為stdout,系統(tǒng)指定為顯示器。③標準錯誤輸出文件,文件指針為stderr,系統(tǒng)指定為顯示器,輸出錯誤信息。8.1文件的概述8.1.1文件和文件指針4.標準文件
2023/1/131 標準文件是外部設備中的三個特殊的設備文件。它們的文8.1文件的概述8.1.2文件的打開與關(guān)閉操作文件的一般步驟
打開文件
讀寫文件
關(guān)閉文件打開文件:建立用戶程序與文件的聯(lián)系,為文件分
配一個文件緩沖區(qū)。讀寫文件:是指對文件的讀、寫、追加和定位操作。關(guān)閉文件:切斷文件與程序的聯(lián)系,釋放文件緩沖
區(qū)。
C語言的輸入輸出函數(shù)庫中提供了大量的函數(shù),用于完成對數(shù)據(jù)文件的建立、數(shù)據(jù)的讀寫、數(shù)據(jù)的追加等操作。在程序中調(diào)用這些函數(shù)時,必須先用include命令包含stdio.h文件。
2023/1/1328.1文件的概述8.1.2文件的打開與關(guān)閉操作文件的一般常用的調(diào)用形式:
FILE
*fp;fp=fopen(文件名,文件使用方式);
文件名:需要打開的文件名稱(字符串)。
文件使用方式:是具有特定含義的符號。8.1文件的概述8.1.2文件的打開與關(guān)閉1.文件打開函數(shù)fopen(
)函數(shù)功能:
按指定的文件使用方式打開指定的文件。若文件打開成功,為該文件分配一個文件緩沖區(qū)和一個FILE類型變量,返回一個FILE類型指針;
若文件打開失敗,返回NULL。2023/1/133常用的調(diào)用形式:8.1文件的概述8.1.2文件的打開文本文件的三種基本使用方式”r”:只讀方式
為讀(輸入)文本文件打開文件。若文件不存在,返回NULL?!眞”:只寫方式
為寫(輸出)文本文件打開文件。若文件不存在,則建立一個新文件;若文件已存在,則清空文件?!盿”:追加方式為寫(輸出)文本文件打開文件。若文件已存在,則保持原來文件的內(nèi)容,將新的數(shù)據(jù)增加到原來數(shù)據(jù)的后面;若文件不存在,則返回NULL。8.1文件的概述8.1.2文件的打開與關(guān)閉2023/1/134文本文件的三種基本使用方式8.1文件的概述8.1.2二進制文件的三種基本使用方式”rb”:只讀方式
為讀(輸入)二進制文件打開文件。若文件不存在,返回NULL?!眞b”:只寫方式
為寫(輸出)二進制文件打開文件。若文件不存在,則建立一個新文件;若文件已存在,則清空文件?!盿b”:追加方式為寫(輸出)二進制文件打開文件。若文件已存在,則保持原來文件的內(nèi)容,將新的數(shù)據(jù)增加到原來數(shù)據(jù)的后面;若文件不存在,則返回NULL。8.1文件的概述8.1.2文件的打開與關(guān)閉2023/1/135二進制文件的三種基本使用方式8.1文件的概述8.1.8.1文件的概述8.1.2文件的打開與關(guān)閉文件的其他打開方式
”r+”:可以對文本文件進行讀/寫操作。若文件不存在返回NULL;若文件存在內(nèi)容不被清空。
”w+”:可以對文本文件進行讀/寫操作。 若文件已經(jīng)存在,則先清空文件原來的內(nèi)容。
”a+”:可以對文本文件進行讀/追加操作。文件內(nèi)容不會清空。
”rb+”:可以對二進制文件進行讀/寫操作。
”wb+”:可以對二進制文件進行讀/寫操作。
”ab+”:可以對二進制文件進行讀/追加操作。2023/1/1368.1文件的概述8.1.2文件的打開與關(guān)閉文件的其檢查文件打開操作是否成功
if((fp=fopen("filename","r"))==NULL){cout<<”Cannotopenfile.”<<endl;
exit(0); }
檢查以只讀方式打開文件名為filename的文件是否成功。
exit函數(shù)的作用:結(jié)束程序的執(zhí)行,并將實參0作為函數(shù)返回值傳給操作系統(tǒng)。
8.1文件的概述8.1.2文件的打開與關(guān)閉2023/1/137檢查文件打開操作是否成功8.1文件的概述8.1.2常用的調(diào)用形式:
FILE
*fp;fclose(fp);fp:已經(jīng)打開的文件指針。8.1文件的概述8.1.2文件的打開與關(guān)閉2.文件關(guān)閉函數(shù)fclose(
)函數(shù)功能:關(guān)閉fp指定的文件,釋放該文件的緩沖區(qū)、FILE類型變量及文件指針。若文件關(guān)閉成功,則返回0;若文件關(guān)閉失敗,則返回非0值。2023/1/138常用的調(diào)用形式:8.1文件的概述8.1.2文件的打開常用的調(diào)用形式:
FILE
*fp;fputc(ch,fp);
ch:需要輸出的字符,可以是字符常量或字符變量;fp:文件指針變量。對文本文件的讀寫操作,必須按文件中字符的先后順序進行,只能在操作了第i個字符之后,才能操作第i+1個字符。在對文件操作時,文件的讀寫指針由系統(tǒng)自動向后移動。8.2文本文件的讀寫8.2.1文件的字符輸入輸出函數(shù)1.字符輸出函數(shù)fputc(
)(或putc(
))函數(shù)功能:
將一個字符(ASCII碼)寫入到fp所指向的文件(該文件必須是以寫或讀寫方式打開的)中。若輸出操作成功,函數(shù)返回寫入的字符;否則,返回EOF。系統(tǒng)定義的文本文件結(jié)束標志,其值為(-1)。
2023/1/139常用的調(diào)用形式:對文本文件的讀寫操作,必須按文件中字常用的調(diào)用形式:
FILE
*fp;
ch
=fgetc(fp);
ch:可以是字符變量或整型變量;fp:文件指針變量。8.2文本文件的讀寫8.2.1文件的字符輸入輸出函數(shù)2.字符輸入函數(shù)fgetc(
)(或getc(
))函數(shù)功能:從fp所指向的文件(該文件必須是以讀或讀寫方式打開的)中讀取一個字符。若輸入操作成功,函數(shù)返回讀入的字符;若文件結(jié)束或輸入操作失敗,則返回EOF。2023/1/140常用的調(diào)用形式:8.2文本文件的讀寫8.2.1文件的【例8.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭醫(yī)生巡診工作總結(jié)
- 河南省許昌市禹州市2024-2025學年八年級英語學期6月份期末測試題(含答案無聽力音頻及原文)
- 北師大版四年級上冊數(shù)學第五單元 方向與位置 檢測題(無答案)
- 2025年甘肅省隴南市西和縣中考物理一模試卷(含答案)
- 化妝品偏好調(diào)查
- 餐飲行業(yè)消費者需求變化與品牌定位研究
- 漢字書法課件模板附草書
- 2025屆畢業(yè)生就業(yè)協(xié)議書簽訂注意事項
- 漢字書法課件楷書字
- 匯報課件模板
- 高值耗材點評制度
- 防臺防汛培訓課件教學
- 2024年施工員題庫含完整答案(必刷)
- 道路施工流程講解
- 有限合伙企業(yè)合伙協(xié)議
- 保險資管合規(guī)風險管理-深度研究
- 2022教師民族團結(jié)培訓
- 《慢阻肺健康大課堂》課件
- 2024人教版英語七年級下冊《Unit 3 Keep Fit How do we keep fit》大單元整體教學設計2022課標
- 中國高血壓防治指南(2024年修訂版)
- 中廣核人才測評題庫
評論
0/150
提交評論