LabWindows/CVI中对INI文件的操作提供了丰富的借口函数,本文在阅读帮组文档的基础上,提供了一个最基本的例子程序
//先写INI文件
IniText iniText; //定义一个Ini文件操作指针,IniText实际为指针,可以查看其定义;
char pathName[MAX_PATHNAME_LEN]; //INI文件名char dirName[MAX_PATHNAME_LEN]; //目录名称
GetProjectDir (dirName);
MakePathname (dirName, "myconfig.ini", pathName);
/* create object for holding the value/tag pairs */
iniText =Ini_New(TRUE); /* TRUE for automatic sorting */
/* create the in–memory tag/value pairs */
Ini_PutString (iniText, "section 1", "tag 1", "string 1");
Ini_PutString (iniText, "section 1", "tag 2", "string 2");
Ini_PutInt (iniText, "section 2", "tag 1", 53);
Ini_PutBoolean (iniText, "section 2", "tag 2", TRUE);
/* write out the tag/value pairs */
Ini_WriteToFile (iniText, pathName);
/* dispose of the in–memory tag/value pairs */
Ini_Dispose (iniText);
//以下为读INI文件
To read the same file, the code without error checking might look similar to the following code:
IniText iniText;
char pathName[MAX_PATHNAME_LEN];
char dirName[MAX_PATHNAME_LEN];
char *str1, *str2;
int intVal, boolVal;
/* set up the pathName for the .ini file */
GetProjectDir (dirName);
MakePathname (dirName, "myconfig.ini", pathName);
/* create object for holding the value/tag pairs */
iniText = Ini_New (TRUE); /* TRUE for automatic sorting */
/* read in the tag/value pairs */
Ini_ReadFromFile (iniText, pathName);
/* create the in–memory tag/value pairs */
Ini_GetStringCopy (iniText, "section 1", "tag 1", &str1);
Ini_GetStringCopy (iniText, "section 1", "tag 2", &str2);
Ini_GetInt (iniText, "section 2", "tag 1", &intVal);
Ini_GetBoolean (iniText, "section 2", "tag 2", &boolVal);
/* dispose of the in–memory tag/value pairs */
Ini_Dispose (iniText);