【发布时间】:2017-03-31 12:30:19
【问题描述】:
我想更改文件名。 程序是c++的MVC。
我搜索并找到了一些方法。 然后,我尝试使用 cstdio lib 中的 rename 方法进行更改。
我只写了这一行。
std::rename("C:\\CNV\\Image\\GETDATA\\9KA13103.SLDPRT", "C:\\CNV\\Image\\GETDATA\\9KA13103-02A.SLDPRT");
但是,那是返回 -1。
另外,我曾尝试使用 filesystem::tr2::sys::rename 的其他库 但是,那也失败了。
我在互联网上找到的所有使用 cstdio::std::rename 的示例源。 在重命名方法中只写了文件名,如
std::rename("abc.txt", "123.txt");
但我认为只写文件名而不包含路径很奇怪。 但现在,我想我对使用 std::rename 有误解。
请你告诉我我该怎么做。 谢谢。
【问题讨论】:
-
std::perror显示什么?您是否已经有一个名为9KA13103-02A.SLDPRT的文件?您在该目录中是否具有 modify 或 write 权限?原始文件真的存在吗? -
这是什么版本的 Visual Studio?
-
Robert Prévost // 使用 Visual Studio 2012