一个对话框,在编辑框中有一个文件地址,在按下ADD按钮时,将该地址保存到path字符数组中,并将path处的文件复制到一个新的地址Destination处。如果该地址处有同名文件,则不复制。我的代码是这样的:void CSetLibDlg::OnAdd() 
{
// TODO: Add your control notification handler code here
char path[FILELEN] = {0}, name[FILELEN] = {0} ;
GetDlgItemText (IDC_EDIT1, path, FILELEN - 1) ; // 获得源路径

ifstream fin (Destnation, ios::binary) ; // Destnation是CString对象
if (!fin.fail ()) // 如果存在同名文件
{
fin.close () ;
MessageBox ("找到同名文件") ;
return ;
}
fin.clear () ; // 其他人说加上这句就没错,我加了还是有错
fin.close () ; fin.open (path, ios::binary) ;
if (fin.fail ())
{
fin.clear () ;
fin.close () ;
MessageBox ("读入文件失败") ;
return ;
}
...执行的时候总是显示读入文件失败。假如不用fin.open,而是新声明一个ifstream变量,就没有错最开始的时候我的Destination用的是相对地址,后来改成绝对地址还是有错请各位大大指点一下这是为什么