这是一件非常简单的事情,所以我想让它保持原样简单。我想要的只是从文件中加载一堆键值派,并将它们填充到地图中。我不太关心文本的结构,只要它易于阅读。
我现在拥有的是:
我喜欢INI文件的语法,但我不想为此编写解析器。听起来像我会做很多人在我面前做过的事情。是不是有某种类型的库来读取像这样的简单结构化文件?
答案 0 :(得分:7)
由于您似乎想要人类可能做到的最简单的事情,我将建议一些非常简单的东西,根据您的地图内容可能会或可能不会起作用。如果您的地图数据值是包含空格的字符串,这将不起作用。如果它们是没有空格或数字的字符串,则设置为。
这不是经过测试的代码,但它很简单,所以即使它没有完全编译也应该没问题。只需将KeyType和ValueType更改为int,string,float或您在文件中实际使用的任何内容。
设置文件如:
key value
key2 value2
key3 value3
key4 value4
阅读如下:
KeyType key;
ValueType value;
std::map<KeyType, ValueType> myMap;
while (infile >> key >> value)
myMap[key] = value;
答案 1 :(得分:0)
如果您身处MS世界,可以使用
GetPrivateProfileSectionNames
GetPrivateProfileString
WritePrivateProfileString
从ini文件或regestry中读取。如果要编写Unicode,请确保新创建的文件获得UTF16的BOM。