0

我正在用 C++ 编写一个 OBDII 阅读库/应用程序。通过发送一个简单的字符串命令从汽车的计算机中检索数据,然后将结果传递给特定于每个参数的函数。

我想阅读我想要的所有命令的配置文件,可能是这样的:

Name, Command, function

Engine RPM, 010C, ((256*A)+B)/4
Speed, 010D, A

基本上,非常简单,所有数据都需要作为字符串读入。任何人都可以为此推荐一个好的简单库吗?如果重要的话,我的目标是 Linux 上的 g++ 和/或 Clang。

4

1 回答 1

2

您可以使用std::ifstream逐行读取,并使用boost::split将行分割为,.

示例代码:

您可以检查令牌大小以检查加载文件的完整性。

#include <fstream>
#include <vector>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>

int main(int argc, char* argv[]) {
    std::ifstream ifs("e:\\save.txt");

    std::string line;
    std::vector<std::string> tokens;
    while (std::getline(ifs, line)) {
        boost::split(tokens, line, boost::is_any_of(","));
        if (line.empty())
            continue;

        for (const auto& t : tokens) {
            std::cout << t << std::endl;
        }
    }

    return 0;
}

如果您不想实现,也可以使用String Toolkit Library 。文档

于 2014-07-23T19:07:26.223 回答