檔案操作「開啟」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...