使用glib库函数,能读出文件内容,但用g_key_file_load_from_data填结构体出错

jiahehao 2009-02-26 02:23:04
我主要参考的是网上的这篇文章:http://www.diybl.com/course/6_system/linux/Linuxjs/2008625/128344.html

使用了把key对应的data写进去的 write_item 和 读key对应的data simple_get_conf_item两个方法。读出文件没有问题,但是在写入文件用write_item 方法时,用它的g_key_file_load_from_data 方法总是报错,这个方法是把内存中的内容填到一个结构体中去。
我在前面一句的printf("%s():data = %s\n", __FUNCTION__, file_data)中,看到要改写的内容都打印出来了,但这句却执行错误。不明白原因,请大家赐教。

以下是主要功能代码:
************

//get the old DB IP from conf/ss.conf
old_DB_address=simple_get_conf_item(Z_SS_V4_CONF_DIR,Z_CONFIG_DEF,Z_M_NAME_DBI, "MySqlHost");
g_debug("old database IP is %s\n",old_DB_address.c_str());

//if new DB'ip equal to old,then set myself to master,nor set to slave;
pathconfig = "d:/etc";
if (old_DB_address.compare(new_DB_address) == 0)
{
   //this computer would set to master status;
   new_DB_address = "";
}

//get hostname and
if( (ret = gethostname(hostname,128))==0)
     { 
    sprintf(hostname_relay_bin, "rm -f /var/lib/mysql/%s-relay-bin.*",hostname);
    sprintf(hostname_bin_index, "rm -f /var/lib/mysql/%s-relay-bin.index",hostname);

g_debug("the cmd1 is %s!\n",hostname_relay_bin);
g_debug("the cmd2 is %s! \n",hostname_bin_index);
}

//set the my.conf status;
     ret= write_item(pathconfig,"my.txt", "mysqld", "master-host", (char * )new_DB_address.c_str());
  if(ret==1)
{
  g_debug("write_item error \n");
  return -1;
}
*****************
...全文
477 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
waizqfor 2009-02-26
  • 打赏
  • 举报
回复
先看看!~
  • 打赏
  • 举报
回复
帮顶吧,没用过这种库.
内容概要:本文系统研究了基于豪猪优化算法(CPO)的多无人机协同集群在三维空间中的避障路径规划问题,聚焦于实现以最低成本为目标的航迹优化,综合考虑路径长度、飞行高度、威胁规避及转弯角度等多个关键因素。通过构建精细化的三维环境模型与多无人机协同机制,采用Matlab平台实现CPO算法的仿真与验证,充分展示了该算法在复杂动态障碍环境下的高效搜索能力与全局优化性能。研究不仅涵盖了路径规划的数学建模与目标函数设计,还深入探讨了算法的收敛特性与鲁棒性,为智能群体系统在实际场景中的应用提供了理论依据与技术支撑。; 适合人群:具备一定编程基础和优化算法背景,从事无人机系统控制、智能路径规划、群体协同、人工智能与自动化等相关领域的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于多无人机协同执行侦察、灾害监测、应急救援、区域巡检等复杂任务中的自主路径规划;②为智能优化算法在三维动态环境下的路径决策问题提供可复现的技术范例;③支持研究人员对CPO算法与其他主流群智能算法(如PSO、GWO、WOA等)进行性能对比与改进研究,推动路径规划技术的发展。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解目标函数的多维度建模方式与CPO算法的迭代优化流程,可通过调整环境参数与约束条件进行仿真实验,对比不同算法在相同场景下的路径质量与收敛速度,从而深入掌握其优势与适用边界。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧