Windows編程中各種操作文件的方法


windows編程中文件操作有以下幾種常見方法:
1.C語言中文件操作。
2.C++語言中的文件操作。
3.Win32 API函數文件操作。
4.MFC CFile類文件操作。
5.MFC CFileDialog類的文件操作。
6.注冊表文件操作。

下面我來詳細說明一下各種文件操作方法:
1. C語言中文件操作.需要包含的頭文件STDIO.H
  

  1. 寫入文件:   
  2. FILE *pfile=fopen("C.txt","w");//以寫的方式打開C.txt文件。   
  3. fwrite("Welcome to VCFans!",1,strlen("Welcome to VCFans!"),pfile);//將數據寫入文件。   
  4. fflush(pfile);//刷新緩沖區。將緩沖區數據寫入文件   
  5. fclose(pfile);//關閉文件   
  6.   讀取文件:   
  7. FILE *pfile=fopen("C.txt","r");//以讀的方式打開C.txt文件。   
  8. char FileContent[100];   
  9. memset(FileContent,0,100);//初始化FileContent   
  10. fread(FileContent,1,100,pfile);//將剛才C.txt文件中的內容讀入到FileContent   
  11. MessageBox(FileContent);//輸出結果   
  12. fclose(pfile);//關閉文件   

#include <stdio.h>
#include <afx.h>

void main()
{
 LPCTSTR lp = "hello";
 short s = 70;
 long l = 200;
 double d = 20.5;
 char buf[200];

 sprintf(buf, "%s %d %d %f\n", lp, s, l, d);

 FILE *fp;
 fp = fopen("c:\\ais1.txt", "wt");
 fprintf(fp, "%s", buf);
 fclose(fp);
}

2.C++語言中的文件操作。需要包含的頭文件fstream.h
    

C++代碼
  1. 寫入文件:   
  2.     ofstream ofs("C++.txt");//建立ofstream對像。   
  3. ofs.write("Welcome to VCFans!",strlen("Welcome to VCFans!"));//將數據寫入文件   
  4. ofs.close();//關閉ofstream對象。   
  5.   讀取文件:   
  6. ifstream ifs("C++.txt");   
  7. char FileContent[100];   
  8. memset(FileContent,0,100);//初始化FileContent   
  9. ifs.read(FileContent,100);//讀取數據   
  10. ifs.close();//關閉ifstream對像   
  11. MessageBox(FileContent);//輸出結果   

3.Win32 API函數文件操作。需要包含的頭文件winbase.h,需要類庫:kernel32.lib
  

C++代碼
  1. 寫入文件:   
  2.   HANDLE hFile;//定義一個句柄。   
  3. hFile=CreateFile("API.txt",   
  4.    GENERIC_WRITE,   
  5.    FILE_SHARE_WRITE,   
  6.    NULL,   
  7.    CREATE_NEW,   
  8.    FILE_ATTRIBUTE_NORMAL,   
  9.    NULL);//使用CreatFile這個API函數打開文件   
  10. DWORD Written;   
  11. WriteFile(hFile,"Welcome to VCFans!",strlen("Welcome to VCFans!"),&Written,NULL);//寫入文件   
  12. CloseHandle(hFile);//關閉句柄   
  13.   讀取文件:   
  14.   HANDLE hFile;//定義一個句柄。   
  15. hFile=CreateFile("API.txt",   
  16.    GENERIC_READ,   
  17.    FILE_SHARE_READ,   
  18.    NULL,   
  19.    OPEN_EXISTING,   
  20.    FILE_ATTRIBUTE_NORMAL,   
  21.    NULL);//使用CreatFile這個API函數打開文件   
  22. DWORD dwDataLen;   
  23. char FileContent[100];   
  24. ReadFile(hFile,FileContent,100,&dwDataLen,NULL);//讀取數據   
  25. FileContent[dwDataLen]=0;//將數組未尾設零。   
  26. CloseHandle(hFile);//關閉句柄   
  27. MessageBox(FileContent);//輸出結果   

4.MFC CFile類文件操作。需要包含的頭文件afx.h

C++代碼
  1. 寫入文件:   
  2.    CFile file("CFile.txt",CFile::modeCreate| CFile::modeWrite);//構造CFile對象   
  3.    file.Write("Welcome to VCFans !",strlen("Welcome to VCFans !"));//寫入數據到文件   
  4.    file.Close();//關閉CFile對象。   
  5. 讀取文件:   
  6.    CFile file("CFile.txt",CFile::modeRead);//構造CFile對象   
  7.   char FileContent[100];   
  8.    memset(FileContent,0,100);//初始化FileContent   
  9.    file.Read(FileContent,100);//讀入數據   
  10.    file.Close();//關閉文件對象   
  11.    MessageBox(FileContent);//輸出數據   

5.MFC CFileDialog類的文件操作。需要包含的頭文件Afxdlgs.h

C++代碼
  1. 寫入文件:   
  2.    CFileDialog fileDlg(FALSE,"txt","CFileDialog.txt");//建立CFileDialog對象   
  3. if(IDOK==fileDlg.DoModal())   
  4. {   
  5.    CFile file(fileDlg.GetFileName(),CFile::modeCreate| CFile::modeWrite);//構造CFile對象   
  6.    file.Write("Welcome to VCFans !",strlen("Welcome to VCFans !"));//寫入數據到文件   
  7.    file.Close();   
  8. };   
  9. 讀取文件:   
  10.    CFileDialog fileDlg(TRUE,"txt","CFileDialog.txt");//建立CFileDialog對象   
  11. if(IDOK==fileDlg.DoModal())   
  12. {   
  13.    CFile file(fileDlg.GetFileName(),CFile::modeRead);//構造CFile對象   
  14.   char FileContent[100];   
  15.    memset(FileContent,0,100);//初始化FileContent   
  16.    file.Read(FileContent,100);//讀入數據   
  17.    file.Close();//關閉文件對象   
  18.    MessageBox(FileContent);   
  19. };   


6.注冊表文件操作。
  

C++代碼
  1.   寫入注冊表:   
  2.   HKEY hKey;   
  3.   DWORD dwSex=1;   
  4.    RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\vcfans\\reg",&hKey);//打開注冊表鍵   
  5.    RegSetValueEx(hKey,"sex",0,REG_DWORD,(CONST BYTE*)&dwSex,4);//寫入注冊表數據   
  6.    RegCloseKey(hKey);//關閉注冊表鍵   
  7. 讀注冊表:   
  8.   HKEY hKey;   
  9.    RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\vcfans\\reg",&hKey);//打開注冊表鍵   
  10.   DWORD dwType;   
  11.   DWORD dwValue;   
  12.   DWORD dwSex;   
  13.    RegQueryValueEx(hKey,"sex",0,&dwType,(LPBYTE)&dwSex,&dwValue);//查詢注冊表數據   
  14.    RegCloseKey(hKey);//關閉注冊表鍵   
  15.    CString str;   
  16.    str.Format("sex=%d",dwSex);   
  17.    MessageBox(str);   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM