ACE提供了一套读取windows ini文件的函数库,这里给大家一个简单的例子,共同学习.
#include <stdio.h>
#include <string.h>
#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