文件操作

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);   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值