I have the following code:
ifstream initFile;
initFile.open("D:\\InitTLM.csv");
if(initFile.is_open())
{
// Process file
}
文件无法打开。该文件确实存在于D:驱动器上。是否有找出为何找不到此文件的确切原因的方法?就像“errno”一样?
I have the following code:
ifstream initFile;
initFile.open("D:\\InitTLM.csv");
if(initFile.is_open())
{
// Process file
}
文件无法打开。该文件确实存在于D:驱动器上。是否有找出为何找不到此文件的确切原因的方法?就像“errno”一样?
你应该能够使用操作系统的底层错误报告机制来获取原因(因为标准库是建立在操作系统原语之上的)。代码可能不具备可移植性,但它应该能帮助你找到问题的根源。
由于你似乎正在使用Windows,你可以使用GetLastError来获取原始代码,使用FormatMessage将其转换为文本描述。
检查D盘根目录的权限。您可能会发现,您编译的可执行文件或调试器运行的服务没有足够的访问权限来打开该文件。
尝试暂时更改D:\根目录的权限为“每个人->完全控制”,看看是否解决了问题。
initfile.open("inittlm.csv");
,而非引用驱动器号。然后请告知我们是否还存在错误。 - JonH