例如:打开e:\\test.txt文件,如果没有e盘,就会出现错误。
请问,如何避免此错误信息的出现?或者事先怎样知道是否存在E盘?
谢谢!

解决方案 »

  1.   

    你查一下MSDN里面有一个函数可以读出机器中存在的逻辑盘并返回 还可以读出每个盘的性质
    GetLogicalDriveStrings可以得到逻辑启动器名
    GetDriveType 取盘类型CHAR SysDir[128];
    strLen=GetLogicalDriveStrings(128,SysDir);UINT DiskType;
    DiskType=GetDriveType(DriveName);
    switch(DiskType) 
    {
    // case DRIVE_NO_ROOT_DIR:
    // return FALSE;
    case DRIVE_REMOVABLE:
    //::AfxMessageBox(DriveName);
    break;
    case DRIVE_FIXED:
    //::AfxMessageBox("固定硬盘驱动器");
    break;
    case DRIVE_REMOTE:
    //::AfxMessageBox("这是网络驱动器");
    return FALSE;
    case DRIVE_CDROM:
    //::AfxMessageBox("这是光盘驱动器");
    return FALSE;
    }
      

  2.   

    _access()
    也可以用来直接判断文件或者文件夹是否存在(可读,可写)
    也许可以更直接的避免你程序中的错误
      

  3.   

    FindFile依次从c查到z,查找X:\*.*,然后试试