使用c++进行Windows编程中各种操作文件的方法 【转】

https://www.zhaokeli.com/article/8232.html

 

 

使用c++进行Windows编程中各种操作文件的方法 【转】

来源:赵克立博客 分类: C/C++ 标签:--发布时间:2017-10-01 09:55:51最后更新:2017-10-01 10:10:38浏览:925

版权声明:

本文为博主学习过程中整理发布,如有侵权请告知

原文链接:

http://blog.csdn.net/benny5609/article/details/2076272

更新时间:

2017-10-01 10:10:38

温馨提示:

技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

概览

windows编程中文件操作有以下几种常见方法:

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

写入文件:

读取文件:

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

写入文件:

读取文件:

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

写入文件:

读取文件:

4.MFCCFile类文件操作。需要包含的头文件afx.h

写入文件:

读取文件:

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

写入文件:

读取文件:

6.注册表文件操作。

写入注册表:

读注册表:

在使用c++编程过程中每次遇到读写操作的时候都会在各大库中网上查找方法.每次的方法都不一样。下面总结啦一些读写的操作记录下来方便使用

windows编程中文件操作有以下几种常见方法:

1.C语言中文件操作。

2.C++语言中的文件操作。

3.Win32 API函数文件操作。

4.MFC CFile类文件操作。

5.MFC CFileDialog类的文件操作。

6.注册表文件操作。

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

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

写入文件:

复制代码

 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

写入文件:

复制代码

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

写入文件:

复制代码

  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

 写入文件:

复制代码

  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

 写入文件:

复制代码

  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.注册表文件操作。 

写入注册表:

复制代码

  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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值