1. fFibo.Open( FIBO.DAT ,CFile::modeWrite|CFile::modeCreate|CFile::typeText);
virtual BOOL Open(LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError
= NULL);
返回值:
如果成功打开,则返回非零值,否则为0。pError参数仅在返回0时才有意义。
参数:
lpszFileName
待打开文件的路径,路径可为绝对、相对或网络名(UNC)。
nOpenFlags
一个定义了文件的共享和访问模式的UINT。它指定了打开文件后的动作,可以用OR(|)操作符将选项组合起来,至少应有一个访问权限和一个共享选项,modeCreate和modeNoInherit模式是可选的。
pError
指向一个存在的文件异常对象,获取失败操作的状态。
CFile::modeWrite:打开文件仅供写。
CFile::modeCreate:调用构造函数构造一个新文件,如果文件已存在,则长度变成0。
CFile::typeText:对回车换行设置特殊进程(仅用于派生类)。
在MFC类库详解中可以查找到。
2. file.Open(".\\RobotStart.bat",CFile::modeCreate|CFile::modeWrite); //添加长度 f
SetDlgItemText(IDC_EDIT7,strLv);
SetDlgItemText(IDC_EDIT11,strIP);
3. CFile file(_T(strPath),CFile::modeCreate|CFile::modeWrite)
让你的程序支持Unicode编码
vc6不需要,vs的需要加。
4. if(!basefile1.Open("基站1-RAW记录",CFile::modeCreate|CFile::modeWrite|CFile::typeBinary))
根据你贴的代码猜测,basefile1是CFile类(或者派生类)的对象,这个if条件语句的意思就是,打开“基站1-RAW记录”这个文件,如果失败则……(执行if里面的逻辑)
其中第二个参数是打开文件的方式:
CFile::modeCreate 意思是创建新文件
CFile::modeWrite 意思是可以写文件
CFile::typeBinary 意思是文件以二进制格式打开,即以Byte为单位读取数据
5. CFile::modeCreate怎么理解?
是常量,枚举类型
意义如下:
CFile::modeCreate 让构造器创建一个新文件,如果那个文件已经存在,把那个文件的长度重设为
CFile::modeNoTruncate 可以同modeCreate. 一起用,如果要创建的文件已经存在,并不把它长度设置为0,因而这个文件获取或者作为一个新建文件或者作为一个已存在文件打开。这个功能往往很好用,比如说,当你需要打开一个设置文件,但是你并不清楚这个文件是否已经存在。 CFile::modeRead 打开文件仅仅供读
CFile::modeReadWrite 打开文件供读写
CFile::modeWrite 打开文件只供写
CFile::modeNoInherit 阻止这个文件被子进程继承 CFile::shareDenyNone 打开这个文件同时允许其它进程读写这个文件。如果文件被其它进程以incompatibility模式打开,这是create操作会失败。
CFile::shareDenyRead 打开文件拒绝其它任何进程读这个文件。如果文件被其它进程用compatibility模式或者是读方式打开,create操作失败。
CFile::shareDenyWrite 打开文件拒绝其它任何进程写这个文件。如果文件被其它进程用compatibility模式或者是写方式打开,create操作失败。
CFile::shareExclusive 以独占方式打开这个文件,不允许其它进程读写这个文件。 Construction fails if the file has been opened in any other mode for read or write access, even by the current process.
CFile::shareCompat 这个标志在32位的MFC中无效。 This flag maps to CFile::shareExclusive when used in CFile::Open.
CFile::typeText 设置成对回车换行对有特殊处理的文本模式(仅用在派生类中) CFile::typeBinary 设置二进制模式(仅用在派生类中)
6. void ThreadFunc() { CFile file; file.Open(m_StrNewFilePathName,CFile::modeCreate|CFile::modeWrite);
提示:可以采用MFC提供的文件操作类CFile;定义一个结构体来保存基本档案信息关于CFile的使用,建议看看MSDN,上面已经讲的很详细了,如果看不懂英语,,
7. CFile::Open中modeCreate创建的文件在哪
载你创建的工程所在的目录下,也就是最终由你决定
8. 关于CFile Open得问题
就是这样啊,我给详细写一个吧
void CDlgDlg::OnButton1()
{
CFileDialog dlg(TRUE, NULL, NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"ALL File(*.txt)|*.*");
if ( dlg.DoModal()!=IDOK )
return;
CFile F;
//CString str=F.GetFilePath();
CString str=dlg.GetPathName();
if(F.Open(str,CFile::modeReadWrite))
{
int iFileLen = F.GetLength();
char * str = new char[iFileLen+1];
memset(str,0,iFileLen+1);
F.Read((void*)str,iFileLen);
{
CWnd* pWnd = GetDlgItem(IDC_EDIT1);
if( NULL != pWnd )
pWnd->SetWindowText(str);
}
delete [] str ;
F.Close();
}
// TODO: Add your control notification handler code here
}