【发布时间】:2013-04-05 05:37:44
【问题描述】:
正如标题所说,我有一个 C++ 程序,用户传入一个参数。我想验证传递的参数是否是有效的 DOS/Windows 驱动器号(即 C:.D:.E:),并且该驱动器是否存在于系统上。我该怎么做呢?
【问题讨论】:
-
即使驱动器号有效,您也可能由于其他原因无法访问它,因此您始终将调用包装在
try catch块中,因此如果您遇到异常,我会假定驱动器号是 duff 或您无权访问它或其他错误
正如标题所说,我有一个 C++ 程序,用户传入一个参数。我想验证传递的参数是否是有效的 DOS/Windows 驱动器号(即 C:.D:.E:),并且该驱动器是否存在于系统上。我该怎么做呢?
【问题讨论】:
try catch 块中,因此如果您遇到异常,我会假定驱动器号是 duff 或您无权访问它或其他错误
您可以使用GetDriveType() 获取驱动器的类型 - 它还会告诉您驱动器是否不存在或不可用
或者“正确”的方式是enumerate through all the drives
【讨论】: