windows编程中文件操作有以下几种常见方法: 1.C语言中文件操作。 2.C++语言中的文件操作。 3.Win32 API函数文件操作。 4.MFC CFile类文件操作。 5.MFC CFileDialog类的文件操作。 6.注册表文件操作。
下面我来详细说明一下各种文件操作方法: 1. C语言中文件操作.需要包含的头文件STDIO.H
C++代码
1
2
3
4
5
6
7
8
9
10
11
12
13
//写入文件:
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++代码
1
2
3
4
5
6
7
8
9
10
11
写入文件:
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
写入文件:
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! ”) ,& amp; 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 ,& amp; dwDataLen,NULL ) ; //读取数据
FileContent[ dwDataLen] = 0 ; //将数组未尾设零。
CloseHandle( hFile) ; //关闭句柄
MessageBox( FileContent) ; //输出结果
4.MFC CFile类文件操作。需要包含的头文件afx.h
1
2
3
4
5
6
7
8
9
10
11
写入文件:
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
写入文件:
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.注册表文件操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
写入注册表:
HKEY hKey;
DWORD dwSex= 1 ;
RegCreateKey( HKEY_LOCAL_MACHINE,"Software\\ vcfans\\ reg" ,& amp; hKey) ; //打开注册表键
RegSetValueEx( hKey,"sex" ,0 ,REG_DWORD,( CONST BYTE* ) & amp; dwSex,4 ) ; //写入注册表数据
RegCloseKey( hKey) ; //关闭注册表键
读注册表:
HKEY hKey;
RegOpenKey( HKEY_LOCAL_MACHINE,"Software\\ vcfans\\ reg" ,& amp; hKey) ; //打开注册表键
DWORD dwType;
DWORD dwValue;
DWORD dwSex;
RegQueryValueEx( hKey,"sex" ,0 ,& amp; dwType,( LPBYTE) & amp; dwSex,& amp; dwValue) ; //查询注册表数据
RegCloseKey( hKey) ; //关闭注册表键
CString str;
str.Format ( "sex=%d" ,dwSex) ;
MessageBox( str) ;
//以上代码在VC6.0,Windows 2K server下编译通过。