Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245931
  • 博文数量: 20
  • 博客积分: 1530
  • 博客等级: 上尉
  • 技术积分: 525
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-31 16:26
文章分类

全部博文(20)

文章存档

2018年(2)

2012年(1)

2011年(4)

2010年(5)

2009年(2)

2008年(6)

我的朋友

分类: C/C++

2009-04-03 13:46:29

ACE提供了一套读取windows ini文件的函数库,这里给大家一个简单的例子,共同学习.
 
#include
#include
#include "ace/OS.h"
#include "ace/Configuration.h"
#include "ace/Configuration_Import_Export.h"
main()
{
        ACE_Configuration_Heap aceConfig;
        char strFile[512];
        memset(strFile, 0x00, sizeof(strFile));
        strcpy(strFile, "./test.ini");
        int nStatus = aceConfig.open();
        if(0 != nStatus)
        {
                printf("error %d, line %d\n",  ACE_OS::last_error(), __LINE__);
                return -1;
        }
        ACE_Ini_ImpExp      aceConfigImport(aceConfig);
        nStatus = aceConfigImport.import_config(strFile);
        if (0 != nStatus)
        {
                printf("error %d, line %d\n", ACE_OS::last_error(), __LINE__);
                return -1;
        }
        ACE_Configuration_Section_Key   aceConfigKey;
        nStatus = aceConfig.open_section(aceConfig.root_section(), ACE_TEXT("Update"), 0, aceConfigKey);
        if (0 != nStatus)
        {
                printf("error %d, line %d\n", ACE_OS::last_error(), __LINE__);
                return -1;
        }
        ACE_TString         aceString;
        nStatus = aceConfig.get_string_value(aceConfigKey, ACE_TEXT("LastUpdateDate"), aceString);
        if (0 != nStatus)
        {
                printf("error %d, line %d\n", ACE_OS::last_error(), __LINE__);
                return -1;
        printf("value=[%s]\n", aceString.c_str());
        ACE_TString   aceString1("20090112");
        nStatus = aceConfig.set_string_value (aceConfigKey, ACE_TEXT("LastUpdateDate"), aceString1);
        if (0 != nStatus)
        {
                printf("error %d, line %d\n", ACE_OS::last_error(), __LINE__);
                return -1;
        }
 
        //save configuration
        nStatus = aceConfigImport.export_config(strFile);
        if (0 != nStatus)
        {
                printf("error %d, line %d\n", ACE_OS::last_error(), __LINE__);
                return -1;
        }
        return 0;
}
 
test.ini
 
[Update]
LastUpdateDate=20090101
 
阅读(1771) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~