openOrCreateFile打开文件,如果文件不存在则创建路径与文件,记录日志与系统时间

openOrCreateFile打开文件,如果文件不存在则创建路径与文件,记录日志与系统时间

//#include <ros/package.h>
#include <fstream>
#include <cmath>
#include <sys/stat.h>
#include <chrono>


 std::ofstream file_stream_odom_ekf_;
 std::string rosBag_directory_="/home/sukai/slam/rosBag/";
 std::string file_name_odom_ekf_="file_name_odom_ekf";
 std::string file_path_odom_ekf_=/home/sukai/slam/log/initialpose_data_log.txt;
 




    std::string getCurrentTime() {


        
        // 获取当前系统时间
        //std::chrono::system_clock::time_point start_time ;
        auto current_time = std::chrono::system_clock::now();
        auto current_time_c = std::chrono::system_clock::to_time_t(current_time);
        auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(current_time.time_since_epoch()) % 1000;

        std::cout << "1.start getCurrentTime  " << std::pu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: C++ 代码示例: ```C++ #include <fstream> using namespace std; int main() { ofstream file("example.txt", ios::out | ios::app); if (!file) { cout << "Failed to open file" << endl; return 1; } file << "Hello, World!" << endl; file.close(); return 0; } ``` 说明: - `ofstream` 是 C++ 标准库中的文件输出流类。 - `ios::out` 指定以写入模式打开文件。 - `ios::app` 指定在文件末尾追加数据。如果文件存在,则创建文件。 - `file` 是一个文件输出流对象。 - `file.close()` 关闭文件。 如果文件存在,程序就会创建一个新的文件,并在文件末尾追加 "Hello, World!" 。 ### 回答2: 在MFC中,我们可以使用CFile类来打开文件,并通过参数来指定打开模式。如果文件存在,我们可以设置打开模式为CFile::modeCreate来创建文件。 下面是一个示例代码: ```cpp // 在使用之前需要包含<afx.h>头文件 void OpenOrCreateFile(const CString& filePath) { CFile file; if (file.Open(filePath, CFile::modeRead | CFile::shareDenyNone)) { // 如果文件存在,执行相关操作 file.Close(); } else if (file.Open(filePath, CFile::modeCreate | CFile::modeWrite | CFile::shareDenyNone)) { // 如果文件存在创建文件并执行相关操作 file.Close(); } else { // 打开文件失败,进行错误处理 } } ``` 在上述代码中,我们首先尝试以只读模式打开文件,如果成功打开,则说明文件已经存在,可以执行相关的操作后关闭文件。如果打开失败,则尝试以创建和写入模式打开文件,如果成功打开,则说明文件存在,此时可以进行创建文件并执行相关操作后关闭文件。 请注意,在使用上述代码之前,需要确保在项目设置中包含了"afx.h"头文件,并将"afx.h"包含在需要使用代码的文件中。 ### 回答3: 在MFC中,可以使用CFile类来打开文件并进行相关操作。要实现当文件存在创建文件的功能,可以按照以下步骤编写代码: 1. 首先,我们需要一个文件路径。可以通过用户界面让用户输入文件路径,或者提前设定一个默认路径。 2. 创建CFile对象,并调用Open函数来打开文件。Open函数接受两个参数,第一个参数是文件路径,第二个参数是打开文件的模式。 3. 设置文件打开模式为CFile::modeCreate | CFile::modeReadWrite,其中modeCreate表示如果文件存在创建文件,modeReadWrite表示可读可写模式。 4. 打开文件成功后,可以进行其他相关的文件操作,比如写入数据或者读取数据。 下面是一个示例代码: ```cpp CString filePath = _T("C:\\example.txt"); // 文件路径 CFile file; if (file.Open(filePath, CFile::modeCreate | CFile::modeReadWrite)) { // 打开文件 // 文件操作 file.Close(); // 关闭文件 } ``` 在这个示例中,如果example.txt文件存在,程序会创建一个新的文件。然后,我们可以进行其他的文件操作,比如写入数据或者读取数据。最后,不要忘记通过file.Close()关闭文件。 需要注意的是,如果文件已经存在,这段代码会清空文件内容并重新写入数据。如果你想在不覆盖原有文件内容的情况下进行写入操作,可以使用CFile::modeNoTruncate模式进行打开,这样会在文件末尾添加新的数据。 以上就是用MFC打开文件并在文件存在创建文件的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_无往而不胜_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值