C++文件管理 txt、json、xml文件的读写

1. txt文件读写

1.1 txt文件基本读写

在windows和linux下路径示意

//windows
std::string file_path = "C:/program/user/leetcode.txt";
//linux
std::string file_path = "/program/user/leetcode.txt";

1.1 基本读txt文件

#include <fstream>
/**
  * @brief 读txt文件
  * @param file_path  待读文件路径
  * @param error_info 输出错误信息
  * 
  * @return 输出文件信息的字符串
  */
std::string FileTool::ReadTxtFile(const std::string& file_path, std::string& error_info){
    if (file_path.empty()) {
        error_info = "file path is empty";
        return "";
    }
    std::ifstream in_file;
    in_file.open(file_path.c_str(), std::ios::in);
    if (!in_file.is_open() || !in_file.good()) {
        error_info = "打开" + file_path + "文件失败";
    }
    std::string file_string = "", line_string = "";
    while (std::getline(in_file, line_string)) {
        file_string += (line_string + "\n");
    }
    in_file.close();
    return file_string;
}

1.2 基本写txt文件

#include <fstream>
/**
  * @brief 写txt文件
  * @param file_path   待写文件路径
  * @param file_string 待写文件的字符串信息
  * @param error_info  输出错误信息
  * 
  * @return 输出文件信息的字符串
  */
bool FileTool::WriteTxtFile(const std::string& file_path, 
							const std::string& file_string, 
							std::string& error_info){
    if (file_path.empty()) {
        error_info = "file path is empty";
        return "";
    }
    std::ofstream out_file;
    //若文件不存在不会崩溃,会在此路径下创建file
    out_file.open(file_path.c_str(), std::ios::out | std::ios::app);
    if (!out_file.is_open() || !out_file.good()) {
        error_info = "打开" + file_path + "文件失败";
        return false;
    }
    out_file << file_string << '\n';
    out_file.close();
    return true;
}

1.2 txt文件处理

2.写
3.创建

2. json文件读写

json(JavaScript Object Notation)是一个轻量的数据交换格式。

RapidJSON 是一个 C++ 的 JSON 解析器及生成器,具有小而全、速度快、相对独立、对内存友好等特点。详细的json读写参考以下文章。

深入浅出(二)rapidjson安装与应用

3. xml文件读写

深入浅出(三)rapidxml安装与应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ini是一种常见的配置文件格式,它通常用于Windows环境下的软件配置。而在Linux环境下,通常使用不同的配置文件格式,如JSONXML或各种文本文件。我们可以使用C语言编写代码来改写这些配置文件。 首先,我们需要使用C语言中的文件操作函数来打开和读取配置文件。可以使用fopen函数来打开文件,并使用fgets函数逐行读取配置文件内容。接着,我们可以使用字符串处理函数来解析配置文件的内容,比如使用strtok函数来分割字符串,以获取配置文件中的键值对。 然后,我们可以根据需要修改配置文件的内容。可以使用字符串处理函数来修改配置文件的某个键对应的值,并将修改后的内容写回到文件中。可以使用fprintf函数来写入修改后的内容,或者使用fseek函数来找到需要修改的位置并使用fwrite函数来进行替换。 最后,我们需要关闭文件,并释放相关的资源。可以使用fclose函数来关闭文件。如果有需要,还可以使用其他相关的函数来释放内存或其他资源。 总结起来,通过使用C语言的文件操作函数和字符串处理函数,我们可以改写ini格式的配置文件,实现对配置文件内容的读取和修改。这样就能够在Linux环境下使用C语言来操作和管理配置文件。 ### 回答2: 我们可以使用C语言在Linux系统中修改INI配置文件。 首先,我们需要打开INI配置文件,可以使用标准C库中的文件操作函数来实现。例如,使用`fopen`函数打开一个文件,将文件名和打开模式作为参数传递给它。打开模式可以是“r”(只读)、“w”(只写)或“a”(追加),具体根据需求而定。如果成功打开文件,将返回一个指向`FILE`结构的指针。 接下来,我们可以使用C的字符串处理函数来读取和修改配置文件中的内容。我们可以使用`fgets`函数逐行读取文件内容并存储到一个字符数组中。如果我们要修改某个配置项的值,可以使用字符串处理函数如`strstr`、`strncpy`等来查找和替换。 修改完成后,我们可以使用`fopen`函数再次以“w”模式打开同一个文件,然后使用`fprintf`函数将修改后的内容写入文件。最后,我们使用`fclose`函数关闭文件,以释放资源。 需要注意的是,INI文件的格式是由一系列节(section)和键值对组成的。每个节用方括号括起来,每个键值对由一个键(key)和一个值(value)组成。因此,在修改INI文件时,我们需要正确处理节的开始和结束,并且在替换键值对时需要保持格式的统一性。 总之,使用C语言可以很方便地读取和修改INI配置文件。通过使用标准C库中的文件操作函数和字符串处理函数,结合逻辑处理,我们可以轻松地实现INI文件的改写操作。 ### 回答3: 在Linux系统中,我们可以使用C语言来改写INI配置文件。INI文件是一种常见的配置文件格式,通常用于存储软件的各种配置参数。下面是用C语言改写INI配置文件的一般步骤: 1. 打开INI配置文件:首先,我们需要使用C语言中的文件操作函数,如`fopen()`来打开INI配置文件。可以使用只读、写入或追加的方式来打开文件,具体要看你的需求。 2. 读取和修改配置项:通过使用C语言中的字符串处理函数,比如`fgets()`来逐行读取配置文件。在每一行中,我们可以通过使用字符串处理函数如`strtok()`来解析出配置项和对应的值。我们可以将读取到的配置项和值保存在一个数据结构中(比如数组、链表等),以便于修改和写回配置文件。 3. 修改配置项值:根据你的需求,你可以通过C语言中的字符串处理函数,如`strcpy()`来修改配置项的值。 4. 写回INI配置文件:在修改或添加配置项值之后,我们可以使用C语言中的文件操作函数,例如`fprintf()`或`fputs()`将修改后的配置文件写回到原来的INI文件。另外,你也可以选择在内存中操作,最后再一次性写回到INI文件。 5. 关闭INI配置文件:在所有的修改和写回操作完成后,我们需要使用C语言中的文件操作函数,如`fclose()`来关闭INI配置文件。 请注意,以上只是一个基本的框架,实际的代码可能会稍有不同,比如错误处理、注释的处理、空行的处理等。另外,你也可以使用现有的第三方库来简化INI文件读写操作,如`inih`库等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小老鼠不吃猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值