C++ 命名错误的文件(重命名而不指定路径)将移动到何处?

C++ 命名错误的文件(重命名而不指定路径)将移动到何处?,c++,macos,unix,C++,Macos,Unix,我不小心犯了一个大错误: 在我的C++程序中,我做了: std::string oldFilePath = "/Users/blah/somepath/foo.xml"; std::string newFileName = "foo.xml" //Blunder! Forgot to prefix the new path! int status = rename(oldFilePath.c_str(), newFileName.c_str()); 我忘了给新路径加前缀,而只是把文件名(没有路

我不小心犯了一个大错误:

在我的C++程序中,我做了:

std::string oldFilePath = "/Users/blah/somepath/foo.xml";
std::string newFileName = "foo.xml" //Blunder! Forgot to prefix the new path!
int status = rename(oldFilePath.c_str(), newFileName.c_str());
我忘了给新路径加前缀,而只是把文件名(没有路径)放在应该重命名文件的新名称上。结果文件从原来的路径上消失了,我不知道它去了哪里

档案在哪里?有办法恢复吗?(此文件夹的时间机器已禁用,因此我无法执行此操作!)

<>编辑:XC++对C++应用程序生成的编译文件在哪里?

编辑:如果您是通过xcode运行程序,它应该位于:

~/Library/Developer/Xcode/DerivedData//Build/Products/Debug/


别忘了上面那条路的~号

如果操作成功(
status==0
),则文件在运行时将位于进程的当前目录中。很难预测它可能在哪里,但是
$HOME
是一个可能的候选人(可能
/Users/blah/foo.xml
)。您应该能够使用
find
命令或Spotlight找到它


我不使用XCode UI(或其他IDE),部分原因是我不喜欢对诸如“程序放在哪里”和“运行程序时当前目录是什么”之类的东西缺乏控制(其余原因是我是一只恐龙)。好的,可执行文件应该位于创建项目的文件夹下的目录中。同样,Spotlight或
find
应该能够帮助您,至少如果您为程序选择了一个独特的名称。项目目录也是查找
foo.xml
文件的另一个地方。

在您关心时间机器内容的文件夹上禁用时间机器是不小心的。有超过一百万个文件不断生成和修改。如果我启用它,我的时间机器将很快耗尽空间。