【发布时间】:2011-11-27 23:12:43
【问题描述】:
我在使用 copy_file 函数时遇到了一些问题。我的程序很简单,我只是想把一个文本文件从一个地方复制到另一个地方。
以下代码显示“调试错误!”因为 abort() 被调用了。
int main()
{
path src_path = "C:\\src.txt";
path dst_path = "C:\\dst.txt";
cout << "src exists = " << exists( src_path ) << endl; // Prints True
boost::filesystem::copy_file( src_path, dst_path );
return 0;
}
如果我查看 Stackoverflow 上的其他一些代码示例,我不会注意到我做错了什么。我觉得我在这里遗漏了一些明显的东西。
我已经安装了 Boost v1.47,我正在使用 Visual C++ 2010。
【问题讨论】:
-
权限或共享违规。您应该捕获异常并显示它们
-
我查看了如何使用 try / catch 但我不确定如何或是否可以在不知道异常数据类型的情况下打印异常。到目前为止,我只能使用默认 (...) 捕获它。我认为文件系统引发了一个名为“basic_filesystem_error”的对象,该对象未在我的包含中导入。
-
try{/*code*/}catch(std::exception const& e){ std::cout << e.what() << '\n'; }会在有问题的异常源自std::exception时执行。
标签: c++ boost boost-filesystem