c++快速读取配置文件

Posted qianbo_insist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++快速读取配置文件相关的知识,希望对你有一定的参考价值。

配置文件样例

#in.txt
#缩放到1280 720
rtsp://127.0.0.1/l.264 1280 720

#开头代表注释,而一行中有三个数据,以空格隔开。分别是rtsp地址,宽度 ,高度。使用c++ fstream的移位符来读取空格后数据。

srcFile >> s.d_width >> s.d_height;

读取文件

std::ifstream srcFile("in.txt", std::ios::in); //以文本模式打开in.txt备读

show me the code

#include <iostream>
#include <fstream>
#include <cstdlib> 
#include <vector>
#include <string>
typedef struct s_source
{
	std::string v_s;
	int d_width;
	int d_height;
}s_source;
class c_file
{
	std::vector<s_source> v_sources;
public:
	int func_read()
	{
		std::ifstream srcFile("in.txt", std::ios::in); //以文本模式打开in.txt备读
		if (!srcFile) { //打开失败
			std::cout << "error opening source file." << std::endl;
			return -1;
		}

		while (!srcFile.bad()) {
			s_source s;
			srcFile >> s.v_s;
			if (s.v_s[0] != '#')
			{
				srcFile >> s.d_width >> s.d_height;
				v_sources.push_back(s);
			}
		}

		for (auto x : v_sources)
		{
			std::cout << x.v_s << " " << x.d_width << " " << x.d_height << std::endl;
		}
		return 0;
	}
};

读取测试

读者也可以修改方式为传文件名参数,这是个简单的方式,可以做扩展。

int main(int argc, char* argv[])
{
	/* 这个要更新*/
	c_file f;
	if (f.func_read() != 0)
		return -1;
	return 0;
	

以上是关于c++快速读取配置文件的主要内容,如果未能解决你的问题,请参考以下文章

VS Code配置snippets代码片段快速生成html模板,提高前端编写效率

C++ 代码片段执行

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

C++ 代码片段(积累)

VSCode 配置快速输入函数注释

VSCode 配置快速输入函数注释