CfileDlg与文件操作

来源:互联网 发布:windows whistler2267 编辑:程序博客网 时间:2024/04/28 21:21

构造CFileDialog ST对象。
可以传送最常用的参数(parameters)到参数列表(argument list)
//参数:
//        [IN]    bOpenFileDialog
//                设置成TRUE构造一个打开文件对话框,FALSE为保存文件对话框。
//        [IN]    lpszDefExt
//                默认文件扩展名。
//                如果用户用户没有在文件名编辑框中输入文件扩展名,默认文件扩展名被自动附加到文件名上。如果设置为空,不附加任何扩展名。
//        [IN]    lpszFileName
//                在文件名编辑框中显示的初始文件名。如果为NULL,不显示任何初始文件名。
//        [IN]    dwFlags
//                用来定制对话框的一个或多个flags的组合。
//        [IN]    lpszFilter
//                一系列字符串对(pairs)用来设置文件过滤器,只有符合过滤条件的文件才能出现在文件列表框中。
//        [IN]    pParentWnd
//                指向文件对话框的父窗口,可以为NULL
//
CFileDialog ST(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags……
CFileDialog ST();

//构造CFileDialogST对象,必须自己初始化公有成员变量m_ofn and m_bOpenFileDialog后才能使用(这个对象)。

显示:DoModal()
本函数显示文件对话框,允许用户进行选择。m_ofn结构需要使用的域必须已经填写(在构造函数中设置或直接存取该结构),而且公有变量m_bOpenFileDialog必须被设置(TRUE为打开文件对话框,FALSE为保存文件对话框)。
int DoModal()返回值:     IDOK或  IDCANCEL

CString GetPathName() const
这个函数返回所选文件的全路径。

CString GetFileName() const
这个函数返回所选文件的文件名。


CString GetFileTitle() const
这个函数返回所选文件的标题。

CString GetFileExt() const
这个函数返回所选文件的扩展名。


CString GetFileDir() const
这个函数返回所选文件的目录(不包含驱动器)。

CString GetFileDrive() const
这个函数返回所选文件所在的驱动器。

POSITION GetStartPosition() const
这个函数返回文件列表的第一个文件位置。

CString GetNextPathName(POSITION& pos) const
这个函数返回下一个所选文件的全路径。
  pos   一个POSITION的引用,这个引用是上一次调用GetNextPathNameGetStartPosition返回的,如果到达列表结尾,返回NULL(用来控制迭代)

int SelectFolder(LPCTSTR lpszTitle = NULL, LPCTSTR lpszStartPath = NULL, UINT ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS, CWnd* pParentWnd = NULL)
这个函数允许用户选择一个文件夹。
 lpszTitle 一个0结尾的字符串的地址,用来显示在树视图控件的上方,作为标题显示。可以为NULL
lpszStartPath 一个0结尾的字符串的地址,包含初始文件夹。 可以为NULL
ulFlags 用来配置对话框的Flags
IpParentWnd指向对话框的父窗口,可以为NULL

CString GetSelectedFolder() const
这个函数返回用户(使用SelectFolder)选择的文件夹。


CreateFile 
打开文件 
要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。

ReadFile 
从文件中读取字节信息。 
在打开文件获得了文件句柄之后,则可以通过该函数读取数据。

WriteFile 
向文件写入字节信息。 
同样可以将文件句柄传给该函数,从而实现对文件数据的写入。

CloseHandle 
关闭文件句柄。 
打开门之后,自然要记得关上。

GetFileTime 
获取文件时间。 
有三个文件时间可供获取:创建时间、最后访问时间、最后写时间。 
该函数同样需要文件句柄作为入口参数。

GetFileSize 
获取文件大小。 
由于文件大小可以高达上数G1G需要30位),因此一个32位的双字节类型无法对其精确表达,因此返回码表示低32位,还有一个出口参数可以传出高32位。 
该函数同样需要文件句柄作为入口参数。

GetFileAttributes 
获取文件属性。 
可以获取文件的存档、只读、系统、隐藏等属性。 
该函数只需一个文件路径作为参数。

SetFileAttributes 
设置文件属性。 
能获取,自然也应该能设置。 
可以设置文件的存档、只读、系统、隐藏等属性。 
该函数只需一个文件路径作为参数。

GetFileInformationByHandle 
获取所有文件信息 
该函数能够获取上面所有函数所能够获取的信息,如大小、属性等,同时还包括一些其他地方无法获取的信息,比如:文件卷标、索引和链接信息。 
该函数需要文件句柄作为入口参数。

GetFullPathName 
获取文件路径 
该函数获取文件的完整路径名。 
需要提醒的是:只有当该文件在当前目录下,结果才正确。 
如果要得到真正的路径。应该用GetModuleFileName函数。

CopyFile 
复制文件 
注意:只能复制文件,而不能复制目录

MoveFileEx 
移动文件 
既可以移动文件,也可以移动目录,但不能跨越盘符。(Window2000下设置移动标志可以实现跨越盘符操作)

DeleteFile 
删除文件

GetTempPath 
获取Windows临时目录路径

GetTempFileName 
Windows临时目录路径下创建一个唯一的临时文件

SetFilePoint 
移动文件指针。 
该函数用于对文件进行高级读写操作时。

LockFile 
UnlockFile 
LockFileEx 
UnlockFileEx 
以上四个函数用于对文件进行锁定和解锁。这样可以实现文件的异步操作。可同时对文件的不同部分进行各自的操作。

LZOpenFile 
打开压缩文件以读取

LZSeek 
查找压缩文件中的一个位置

LZRead 
读一个压缩文件

LZClose 
关闭一个压缩文件

LZCopy 
复制压缩文件并在处理过程中展开

GetExpandedName 
从压缩文件中返回文件名称。

以上六个函数为32API中的一个小扩展库,文件压缩扩展库中的函数。文件压缩可以用命令compress创建。

32API提供一个称为文件映像的特性,它允许将文件直接映射为一个应用的虚拟内存空间,这一技术可用于简化和加速文件访问。

CreateFileMapping 
创建和命名映射

MapViewOfFile 
把文件映射装载如内存

UnmapViewOfFile 
释放视图并把变化写回文件

FlushViewOfFile 
将视图的变化刷新写入磁盘
文件读写:
CStdioFile file("c:\\test.txt", CStdioFile::modeCreate|CStdioFile::modeWrite);
file.Close();

2. 
CStdioFile file("c:\\test.txt", CStdioFile::modeReadWrite);
file.SeekToEnd();
//...
file.Close();


3.
FILE* fp;
fp=fopen("d:\\111.txt","wb");
fseek(fp,0,SEEK_END);//移动到末尾
。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。
fclose(fp);

4.CFile file("c:\\test.txt", CFile::modeCreate|CFile::modeWrite);
file.Close();

原创粉丝点击