檔案操作總結

2021-08-16 10:57:53 字數 3107 閱讀 4451

檔案操作「開啟」fopen

檔案指標名=fopen(檔名,使用檔案方式)

file *fp; 

fp=("file a","r");

意義:在當前目錄下開啟檔案file

a進行「讀」操作,並使fp指向該檔案。

file *fp 

fp=("c:\\test","rb")

意義:開啟c盤的根目錄下的檔案test, 這是乙個二進位制檔案,只允許按二進位制方式進行讀操作

檔案使用方式說明

r(read): 讀 

w(write): 寫

t(text): 文字檔案,可省略不寫

b(banary): 二進位制檔案

開啟檔案的程式段

if((fp=fopen("c:\\test","rb")==null)

關閉函式 fclose

fclose(檔案指標);

fclose(fp); 正常完成關閉檔案操作時,fclose函式返回值為0。

多種讀寫函式

標頭檔案·字元讀寫函式 :fgetc和fputc 

·字串讀寫函式:fgets和fputs

·資料塊讀寫函式:freed和fwrite

·格式化讀寫函式:fscanf和fprinf

fgetc:字元變數=fgetc(檔案指標)

注意:檔案指標是指向整個檔案的,須在程式中定義說明,只要不重新賦值,檔案指標的值是不變的。檔案內部的位置指標用以指示檔案內部的當前讀寫位置,每讀寫一次,該指標均向後移動,它不需在程式中定義說明,而是由系統自動設定的。

//例如ch=fgetc(fp);其意義是從開啟的檔案fp中讀取乙個字元並送入ch中。

//讀入檔案test.c,在螢幕上輸出。

#include

main() //從檔案中逐個讀取字元,在螢幕上顯示

ch=fgetc(fp);

while (ch!=eof) //直到讀取到檔案的末尾結束(eof)標誌

fclose(fp);

}

寫字元函式fputc

fputc(字元量,檔案指標); 把乙個字元寫入指定的檔案中

注意:

1. 每寫入乙個字元,檔案內部位置指標向後移動乙個位元組。

2. fputc函式有乙個返回值,如寫入成功則返回寫入的字元, 否則返回乙個eof。可用此來判斷寫入是否成功。

//從鍵盤輸入一行字元,寫入乙個檔案, 再把該檔案內容讀出顯示在螢幕上

#include

#include

#include

main()

printf("input a string:\n");

ch = getchar(); // 輸入乙個字元

while (ch != '\n')

rewind(fp); // 檔案內部位置指標移向頭部

ch = fgetc(fp);

while (ch != eof)

printf("\n");

fclose(fp);

}

讀字串函式fgets

fgets(字元陣列名,n,檔案指標);

fgets(str,n,fp) 表示:從fp所指的檔案中讀出n-1個字元送入字元陣列str中;

注意:

1. 在讀出n-1個字元之前,如遇到了換行符或eof,則讀出結束。

2. fgets函式也有返回值,其返回值是字元陣列的首位址。

//從test.c檔案中讀入乙個含10個字元的字串

#include

int main()

fgets(str, 10, fp);

printf("%s", str[11]);

fclose(fp);

}

寫字串函式fputs

fputs(「aaaa「,fp); 意義:把字串「aaaa」寫入fp所指的檔案之中。

#include

int main()

printf("請輸入乙個字串");

scanf("%s", str);

fputs(str, fp);

rewind(fp);

getchar(fp);

while (ch != eof)

printf("\n");

fclose(fp);

}

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

其中buffer是乙個指標,在fread函式中,它表示存放輸入資料的首位址。在fwrite函式中,它表示存放輸出資料的首位址。 size 表示資料塊的位元組數。count 表示要讀寫的資料塊塊數。fp 表示檔案指標。

//從鍵盤輸入兩個學生資料,寫入乙個檔案中, 

//再讀出這兩個學生的資料顯示在螢幕上。

#include

struct stu

boya[2],boyb[2],*pp,*qq;

main()

printf("\ninput data\n");

for(i=0;i<2;i++,pp++)

scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);

pp=boya;

fwrite(pp,sizeof(struct stu),2,fp);

rewind(fp);

fread(qq,sizeof(struct stu),2,fp);

printf("\n\nname\tnumber age addr\n");

for(i=0;i<2;i++,qq++)

printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);

fclose(fp);

}

檔案操作總結

檔案操作工具類 判斷乙個資料夾是否存在,若不存在則建立 param dirpath 資料夾路徑 例 d dir public static void createdocument string dirpath else 判斷乙個檔案是否存在 param filepath 檔案的路徑 舉例 d tes...

VC檔案操作總結

1.讀寫檔案 cstring strpath c test.txt 檔案路徑 cfile file if file.open strpath,cfile modecreate cfile modenotruncate cfile modewrite 寫檔案 cstring strpath c tes...

WinCE 檔案操作總結

用的三種方法,歸納如下 方法一 使用mfc的cfile類 開啟用open,關閉用close 檔案指標移動用seek,讀檔案用read 寫檔案用write,獲取檔案屬性可以使用getfilestatus方法,這個可以檢視msdn,下面給幾行簡單 cfile file bool isopenok fil...