CFIleDialogファイル操作
CFIleDialogファイル選択ダイアログの使用:まずオブジェクトを構築し、対応するパラメータを提供する.構築関数の原型は以下の通りである:CFIleDialog::CFIleDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORDdwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter=NULL,CWnd*pParentWnd=NULL);パラメータの意味は次のとおりです.bOpenFileDialogがTRUEの場合は開くダイアログボックスを表示し、FALSEの場合はダイアログファイルを保存するダイアログボックスを表示します.lpszDefExtは、デフォルトのファイル拡張子を指定します.lpszFileNameデフォルトのファイル名を指定します.dwFlagsは特定のスタイルを示します.lpszFilterは、選択可能なファイルタイプと対応する拡張子を示す最も重要なパラメータです.パラメータのフォーマットは、「Chart Files(*.xlc)|*.xlc|Worksheet Files(*.xls)|*.xls|Data Files(*.xlc;*.xls)|*.xlc;*.xls|*.xls;*.xls|All Files(*.*)ファイルタイプの説明と拡張子の間は|で区切られ、同じタイプのファイルの拡張子の間で使用できます.分割、各ファイルタイプ間は|で区切られ、末尾は|で示されます.pParentWndは親ウィンドウポインタです.ファイルの作成ダイアログボックスでは、DoModal()を使用できます.このダイアログボックスでは、CString CFIleDialog::GetPathName()を使用して、ディレクトリ名や拡張子など、完全なファイル名を得ることができます.c:/test/test 1.txt CString CFIleDialog::GetFileName()は、test 1などの拡張子を含む完全なファイル名を取得します.txt CString CFIleDialog::GetExtName()は、完全なファイル拡張子を取得します.たとえば、txt CString CFIleDialog::GetFileTitle()は、ディレクトリ名や拡張子を含まない完全なファイル名を取得します.たとえば、test 1 POSITION CFIleDialog::GetStartPosition()は、複数のファイルを選択した場合に最初のファイル位置を取得します.CString CFIleDialog::GetNextPathName(POSITION&pos)は、複数のファイルを選択した場合に次のファイルの場所を取得し、現在のファイル名を返します.ただし、POSITION CFIleDialog::GetStartPosition()を呼び出して、最初のPOSITION変数を取得する必要があります.
{
CString
FilePathName;
CFileDialog dlg(TRUE);///TRUE OPEN ,FALSE SAVE AS
if(dlg.DoModal()==IDOK)
FilePathName=dlg.GetPathName();
}
:CFileDialog :
C:/WINDOWS/TEST.EXE
:
(1)GetPathName(); , 。 C:/WINDOWS/TEST.EXE
(2)GetFileTitle(); :TEST.EXE
(3)GetFileName(); TEST
(4)GetFileExt(); EXE
CFile file("C:/HELLO.TXT",CFile::modeRead);///
///CFile::modeRead CFile::modeWrite( ),CFile::modeReadWrite( ),CFile::modeCreate( )
:
{
CFile file;
file.Open("C:/HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);
...
...
}
file.Seek(100,CFile::begin);/// 100
file.Seek(-50,CFile::end);/// 50
file.Seek(-30,CFile::current);/// 30
file.SeekToBegin();///
file.SeekToEnd();///
:
char buffer[1000];
file.Read(buffer,1000);
:
CString string(" ");
file.Write(string,8);
file.Close();