C++ 格式读取文件中的参数
2017-09-08 16:12
471 查看
C++中格式读取文件中的参数
参数文件parameters.txt大概是这样的形式#Parameters
#sampling rate of frames(reference value:2-10) samplingRate 2
#mode of feature extraction videoSampleFeatureMode 13 videoSearchingFeatureMode 10#7-12(general: 10)
#/home/lumeiqi/projects/newVideoRetrieval attention the enter key videoPath ../testvideo/test.mp4
其中#开头行代表注释,参数值有整数有字符串,记录读取代码,备忘
代码如下:
#include "Parameters.h" #include <fstream> #include <string> #include <sstream> #include <stdexcept> #include <iostream> int Parameters::readParameters(const char *filename) { /*char buffer[2048]; char paramName[100]; int paramValue = 0; char paramValuestr[100];*/ //避免使用C语言风格的字符数组,使用string,能省去很多问题 //使用stringstream和ifstream做流式读取会简单很多 stringstream buffer; string line; string paramName; int paramValue = 0; string paramValuestr; ifstream fin(filename); if (!fin.good()) { string msg("parameters file not found"); msg.append(filename); throw runtime_error(msg); } while (fin.good()) { getline(fin,line); if(line[0] != '#') { buffer << line;//order is important buffer >> paramName; if(paramName.compare("samplingRate") == 0) { buffer >> paramValue; samplingRate = paramValue; } else if(paramName.compare("videoSampleFeatureMode") == 0) { buffer >> paramValue; videoSampleFeatureMode = paramValue; } else if(paramName.compare("videoSearchingFeatureMode") == 0) { buffer >> paramValue; videoSearchingFeatureMode = paramValue; } else if(paramName.compare("videoPath") == 0) { buffer >>paramValuestr; videoPath = paramValuestr; } else{ throw runtime_error(string("unknown parameter: ").append(paramName)); } } } fin.close(); }
相关文章推荐
- 读取DXF格式文件的C++代码
- 【C++】保存和读取有规律格式的文件路径
- c++ 格式读取文件
- c++某种文件格式的读取与写入范例[stl]
- c++某种文件格式的读取与写入范例[stl]
- C++实现的仿照ini配置文件格式的日志读取
- C++ sstream 从文件中读取参数
- c++文件读取之write参数理解
- 读取DXF格式文件的C++代码
- python任务-从文件读取参数来发送json格式的post请求,再讲请求结果保存到文档里
- .stl文件(CAD三维模型)格式 及 基于C/C++的数据读取
- Unicode(UTF16)文件读写终极方案---用C++标准的字节流读取,转化为宽字符(wchar_t),再以字节流写入
- C++实现分割读取txt文件以及对齐打印设置
- 换编码格式、读取配置文件
- c++读取BMP文件(24位)
- hadoop用MultipleInputs/MultiInputFormat实现一个mapreduce job中读取不同格式的文件
- python读取和存储dict()与.json格式文件
- 文件的读取和写入c++
- C,C++中读取文件
- c++简单文件读取方法