VC操作ini文件:读写函数详解

4星 · 超过85%的资源 需积分: 10 16 下载量 25 浏览量 更新于2024-09-19 收藏 33KB DOC 举报
"VC对ini文件的操作" ini文件是传统上用于存储应用程序配置和初始化信息的文本文件,它的结构包括多个节(Section)和键(Key),每个键可以关联一个值。在VC++环境下,我们可以使用Windows API提供的函数来读取和写入ini文件。 一、向ini文件中写入信息的函数 1. WriteProfileString 函数用于将信息写入系统级的win.ini文件。这个函数接收三个参数:节的名字(lpAppName)、键的名字(lpKeyName)和键的值(lpString)。如果键的值设为NULL,那么对应键会被删除。例如: ```cpp ::WriteProfileString("Test", "id", "xym"); // 在win.ini中创建Test节并设置id键的值为"xym" ``` 2. WritePrivateProfileString 函数则允许你向自定义位置的ini文件写入信息。除了节名、键名和键值外,它还需要一个参数——ini文件的完整路径(lpFileName)。同样,键值为NULL时,会删除对应键。示例代码如下: ```cpp ::WritePrivateProfileString("Test", "id", "xym", "d:\\vc\\Ex1\\ex1.ini"); // 在"D:\\vc\\Ex1\\ex1.ini"中创建Test节并设置id键的值为"xym" ``` 如果ini文件与执行程序在同一目录,可以使用相对路径,但记得在相对路径前加上".",如`".\\ex1.ini"`。 二、从ini文件中读取数据的函数 1. GetProfileString 函数可以从系统的win.ini文件中读取数据。这个函数返回指定键的值,如果键不存在,它会返回默认值。使用方式如下: ```cpp TCHAR szValue[256]; GetProfileString("Test", "id", "default_value", szValue, sizeof(szValue)/sizeof(TCHAR)); ``` 2. GetPrivateProfileString 函数用于读取自定义ini文件中的数据,功能与GetProfileString类似,但可以从任何指定的ini文件中读取。其用法如下: ```cpp TCHAR szValue[256]; GetPrivateProfileString("Test", "id", "default_value", szValue, sizeof(szValue)/sizeof(TCHAR), "d:\\vc\\Ex1\\ex1.ini"); // 从"D:\\vc\\Ex1\\ex1.ini"中读取Test节中id键的值,若不存在则返回"default_value" ``` 在使用这些函数时,需要注意路径的正确性,特别是在使用相对路径时。Windows API中的路径分隔符通常使用反斜杠`\`,但在字符串中,反斜杠需要被转义成`\\`。此外,当使用相对路径时,`.`前的点号不可省略,它表示当前目录。 在VC++项目中,通过这些API函数,开发者可以轻松地实现ini文件的读写操作,从而保存和加载程序的状态、用户配置等信息,使得程序具有更好的可配置性和可移植性。