file操作

来源:互联网 发布:淘宝二手机可靠吗 编辑:程序博客网 时间:2024/06/12 01:28

windows编程中文件操作有以下几种常见方法:
1.C语言中文件操作。
2.C++语言中的文件操作。
3.Win32 API函数文件操作。
4.MFC CFile类文件操作。
5.MFC CFileDialog类的文件操作。
6.注册表文件操作。

下面我来详细说明一下各种文件操作方法:


1. C语言中文件操作.需要包含的头文件STDIO.H
  

C++代码
写入文件:    
FILE *pfile=fopen("C.txt","w");//以写的方式打开C.txt文件。    
fwrite("Welcome to VCFans!",1,strlen("Welcome to VCFans!"),pfile);//将数据写入文件。    
fflush(pfile);//刷新缓冲区。将缓冲区数据写入文件    
fclose(pfile);//关闭文件    
  读取文件:    
FILE *pfile=fopen("C.txt","r");//以读的方式打开C.txt文件。    
char FileContent[100];    
memset(FileContent,0,100);//初始化FileContent    
fread(FileContent,1,100,pfile);//将刚才C.txt文件中的内容读入到FileContent    
MessageBox(FileContent);//输出结果    
fclose(pfile);//关闭文件   


2.C++语言中的文件操作。需要包含的头文件fstream.h
    
C++代码
写入文件:    
    ofstream ofs("C++.txt");//建立ofstream对像。    
 ofs.write("Welcome to VCFans!",strlen("Welcome to VCFans!"));//将数据写入文件    
 ofs.close();//关闭ofstream对象。    
  读取文件:    
 ifstream ifs("C++.txt");    
 char FileContent[100];    
 memset(FileContent,0,100);//初始化FileContent    
 ifs.read(FileContent,100);//读取数据    
 ifs.close();//关闭ifstream对像    
 MessageBox(FileContent);//输出结果   

 

3.Win32 API函数文件操作。需要包含的头文件winbase.h,需要类库:kernel32.lib
  

C++代码
写入文件:    
  HANDLE hFile;//定义一个句柄。    
 hFile=CreateFile("API.txt",    
  GENERIC_WRITE,    
  FILE_SHARE_WRITE,    
  NULL,    
  CREATE_NEW,    
  FILE_ATTRIBUTE_NORMAL,    
  NULL);//使用CreatFile这个API函数打开文件    
 DWORD Written;    
 WriteFile(hFile,"Welcome to VCFans!",strlen("Welcome to VCFans!"),&Written,NULL);//写入文件    
 CloseHandle(hFile);//关闭句柄    
  


读取文件:   


  HANDLE hFile;//定义一个句柄。    
 hFile=CreateFile("API.txt",    
  GENERIC_READ,    
  FILE_SHARE_READ,    
  NULL,
  OPEN_EXISTING,    
  FILE_ATTRIBUTE_NORMAL,    
  NULL);//使用CreatFile这个API函数打开文件    
 DWORD dwDataLen;    
 char FileContent[100];    
 ReadFile(hFile,FileContent,100,&dwDataLen,NULL);//读取数据    
 FileContent[dwDataLen]=0;//将数组未尾设零。    
 CloseHandle(hFile);//关闭句柄    
 MessageBox(FileContent);//输出结果 

 

  
4.MFC CFile类文件操作。需要包含的头文件afx.h
 
C++代码
写入文件:    
  CFile file("CFile.txt",CFile::modeCreate| CFile::modeWrite);//构造CFile对象    
  file.Write("Welcome to VCFans !",strlen("Welcome to VCFans !"));//写入数据到文件    
  file.Close();//关闭CFile对象。    
 读取文件:    
  CFile file("CFile.txt",CFile::modeRead);//构造CFile对象    
  char FileContent[100];    
  memset(FileContent,0,100);//初始化FileContent    
  file.Read(FileContent,100);//读入数据    
  file.Close();//关闭文件对象    
  MessageBox(FileContent);//输出数据 

 

 

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

C++代码 
写入文件:    
  CFileDialog fileDlg(FALSE,"txt","CFileDialog.txt");//建立CFileDialog对象    
 if(IDOK==fileDlg.DoModal())    
 {    
  CFile file(fileDlg.GetFileName(),CFile::modeCreate| CFile::modeWrite);//构造CFile对象    
  file.Write("Welcome to VCFans !",strlen("Welcome to VCFans !"));//写入数据到文件    
  file.Close();     
 };    
 读取文件:    
  CFileDialog fileDlg(TRUE,"txt","CFileDialog.txt");//建立CFileDialog对象    
 if(IDOK==fileDlg.DoModal())    
 {    
  CFile file(fileDlg.GetFileName(),CFile::modeRead);//构造CFile对象    
  char FileContent[100];    
  memset(FileContent,0,100);//初始化FileContent    
  file.Read(FileContent,100);//读入数据    
  file.Close();//关闭文件对象    
  MessageBox(FileContent);     
 };   

 

 
6.注册表文件操作。 
  
C++代码
  写入注册表:    
  HKEY hKey;    
  DWORD dwSex=1;    
  RegCreateKey(HKEY_LOCAL_MACHINE,"Software//vcfans//reg",&hKey);//打开注册表键    
  RegSetValueEx(hKey,"sex",0,REG_DWORD,(CONST BYTE*)&dwSex,4);//写入注册表数据    
  RegCloseKey(hKey);//关闭注册表键    
  读注册表:    
  HKEY hKey;    
  RegOpenKey(HKEY_LOCAL_MACHINE,"Software//vcfans//reg",&hKey);//打开注册表键    
  DWORD dwType;    
  DWORD dwValue;    
  DWORD dwSex;    
  RegQueryValueEx(hKey,"sex",0,&dwType,(LPBYTE)&dwSex,&dwValue);//查询注册表数据    
  RegCloseKey(hKey);//关闭注册表键    
  CString str;    
  str.Format("sex=%d",dwSex);    
  MessageBox(str);