我想在相对于当前目录的给定路径上创建一个文件。以下代码行为异常。我有时会看到创建的文件,有时却没有。这可能是因为当前目录发生了变化。这是代码。
//for appending timestamp
timeval ts;
gettimeofday(&ts,NULL);
std::string timestamp = boost::lexical_cast<std::string>(ts.tv_sec);
//./folder/inner_folder is an existing directory
std::string filename = "./folder/inner_folder/abc_"+timestamp+ ".csv";
std::ofstream output_file(filename);
output_file << "abc,efg";
output_file.close();
现在,问题是该文件仅在某些情况下创建。那就是当我将当前目录中的输入文件作为命令行参数时,它可以正常工作。
./program input_file
如果我有这样的东西,它不起作用
./program ./folder1/input_file
我尝试将完整路径作为参数ofstream
,但我仍然看不到创建的文件。
这样做的正确方法是什么?谢谢