我不小心犯了一个大错:
在我的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());
我忘了为新路径添加前缀,只是将文件名(没有路径)放入文件应重命名的新名称。结果文件已经从旧的路径消失了,我不知道它去了哪里!
文件在哪里?有办法恢复吗? (此文件夹禁用Time Machine,因此我无法执行此操作!)
编辑:Xcode为C ++应用程序生成的编译文件在哪里?
编辑:如果您通过xcode运行该程序,它应该在:
〜/库/开发商/ Xcode中/ DerivedData //建立/产品/调试/
不要忘记上述路径中的〜!
答案 0 :(得分:0)
如果操作成功(status == 0
),则文件在运行时将位于进程的当前目录中。很难预测可能的位置,但$HOME
是一个合理的候选人(也许是/Users/blah/foo.xml
)。您应该能够使用find
命令或使用Spotlight找到它。
我没有使用XCode UI(或其他IDE),部分原因是因为我不喜欢对诸如“程序放置”之类的事情缺乏控制权。以及'当我运行程序时,当前目录是什么? (其余因为我是一只恐龙)。 AFAIK,可执行文件应位于您创建项目的文件夹下的目录中。同样,Spotlight或find
应该能够帮助您,至少如果您为该计划选择了一个独特的名称。项目目录也是另一个查找foo.xml
文件的地方。