::GetCurrentDirectory(length,pathname)
获取当前路径
::SetCurrentDirectory(pathname);
设置当前路径
如果要打开exe文件所在目录的文件,可以在程序启动时先获取当前路径保存,然后再需要的时候再设置
主要问题在于你可能使用文件对话框打开文件会改变当前路径,所以这两个函数很有用
关于CFile的打开模式:
· | CFile::modeCreate | 调用构造函数构造一个新文件,如果文件已存在,则长度变成0。 |
· | CFile::modeNoTruncate | 此值与modeCreate组合使用。如果所创建的文件已存在则其长度不变为0。因而此文件被打开,或者作为一个新文件或者作为一个已存在的文件。这将是很有用的,例如当打开一个可能存在也可能不存在的文件时。这个选项也可用于CStdioFile. |
· | CFile::modeRead | 打开文件仅供读。 |
· | CFile::modeReadWrite | 打开文件供读写。 |
· | CFile::modeWrite | 打开文件仅供写。 |
· | CFile::modeNoInherit | 阻止文件被子进程继承。 |
· | CFile::ShareDenyNone | 不禁止其它进程读或写访问,打开文件。如果文件已被其它进程以兼容模式打开,则Create失败。 |
· | CFile::ShareDenyRead | 打开文件,禁止其它进程读此文件。如果文件已被其它进程以兼容模式打开,或被其它进程读,则Create失败。 |
· | CFile::ShareDenyWrite | 打开文件,禁止其它进程写此文件。如果文件已被其它进程以兼容模式打开,或被其它进程写,则Create失败。 |
· | CFile::ShareExclusive | 以独占模式打开文件,禁止其它进程对文件的读写。如果文件已经以其它模式打开读写(即使被当前进程),则构造失败。 |
· | CFile::ShareCompat | 此标志在32位MFC中无效。此标志在使用CFile::Open时映射为CFile::ShareExclusive。 |
· | CFile::typeText | 对回车换行设置特殊进程(仅用于派生类)。 |
· | CFile::typeBinary | 设置二进制模式(仅用于派生类)。 |