您的位置:首页 > 编程语言

Windows编程中各种操作文件的方法

2008-03-21 17:41 393 查看
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);   

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows 编程 c++ null file api