写惯了objective c 的 block代码,实现在方便,省事,代码简洁,c++的lambda也可以写得很简洁,记录下
lambda传递局部参数,请将参数写在[]中。
boost::property_tree::ptree pt;
try {
boost::property_tree::ini_parser::read_ini(path, pt); // 打开读文件
accountitem itm;
i = 1;
for_each(acs.begin(), acs.end(), [&pt,&i,&itm](accountitem x) {
string s1, s2;
s1 = str::format("帐号%d.账号%d", i, i);
pt.put<std::string>(s1, x.name);
s1 = str::format("帐号%d.密码%d", i, i);
pt.put<std::string>(s1, x.password);
i++;
});
boost::property_tree::ini_parser::write_ini(path, pt);
}
catch (std::exception e) {
cout << e.what();
boost::property_tree::ini_parser::write_ini(path, pt);
}