C++ 命名错误的文件(重命名而不指定路径)将移动到何处?
我不小心犯了一个大错误: 在我的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()); 我忘了给新路径加前缀,而只是把文件名(没有路
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
文件的另一个地方。在您关心时间机器内容的文件夹上禁用时间机器是不小心的。有超过一百万个文件不断生成和修改。如果我启用它,我的时间机器将很快耗尽空间。