1)使用C語言中的檔案操作:
寫檔案
FILE *p=fopen("1.txt","r");//檔案名為1.txt,打開的方式為隻讀;
fwrite("welcome to the file system",1,strlen("welcome to the file system"),p);//往檔案中寫資料,這裡使用fwrite函數,将一個字元竄
Fclose(p);//這個函數的調用,隻是将要寫入的内容放入緩沖區中,隻有當工程關閉的時候,緩沖區的内容才被寫入檔案
Fflush(p)//這個函數,每當執行一次fwrite操作都會将緩沖區的内容及時寫入檔案中,這樣就不需要關閉工程就能看到檔案中的内容!
讀檔案;
FILE *p=fopen("1.txt","r");//打開一個檔案,以隻讀的方式打開
char ch[100];//定義一個數組,接收從檔案中讀取的内容
// memset(ch,0,100);//初始化數組
// fread(ch,1,100,pFile);//讀取檔案中的内容到字元數組中
char *pBuf;//用指針的形式
fseek(p,0,SEEK_END);//首先将檔案指針移動到檔案的末尾的位置
int len=ftell(p);//這個時候,p的位置就是該檔案的占有的總的位元組數
pBuf=new char[len+1];//根據檔案的大小,配置設定緩沖區的大小
fseek(p,0,SEEK_SET);//将檔案指針移動到檔案的開始位置,
fread(pBuf,1,len,p);//開始讀取
pBuf[len]=0;//由于字元數組的結尾标志是’\0’,實際上就是十進制的0
Fclose(p);
MessageBox(pBuf);//消息輸出
2)使用c++的輸入輸出流進行操作;
寫檔案:
ofstream out("2.txt");//構造一個輸出流對象,并初始化(建立一個檔案)
out.write("i am the student",strlen("i am the student"));像檔案中寫入資料
out.close();//關閉檔案
讀檔案:
ifstream in("2.txt");構造一個輸入流對象
char ch[100];
memset(ch,0,100);
in.read(ch,100);//讀取檔案内容到緩沖區中
in.close();//關閉
MessageBox(ch);//顯示消息
3)使用CFile類進行操作;
寫入檔案
HANDLE hfile;//檔案句柄
hfile=CreateFile("3.txt",GENERIC_WRITE |GENERIC_READ,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);建立一個檔案,各個參數的含義,可以查閱文檔
DWORD dwWrite;實際的輸出的位元組數
WriteFile(hfile,"i am a student",strlen("i am a student"),&dwWrite,NULL);
CloseHandle(hfile);//銷毀檔案句柄
讀取檔案:基本上和寫入檔案類似
HANDLE hfile;
hfile=CreateFile("3.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
,NULL);
char st[100];
DWORD dword;
memset(st,0,100);
ReadFile(hfile,st,100,&dword,NULL);
CloseHandle(hfile);
MessageBox(st);