# IniRead

从标准 ini 格式文件中读取一个值, 一个段或段名列表.

    Value := IniRead(Filename, Section, Key , Default)
    Section := IniRead(Filename, Section)
    SectionNames := IniRead(Filename)

## 参数

Filename

  类型: 字符串

  .ini 文件名, 如果未指定绝对路径则假定在 A_WorkingDir 中.

Section

  类型: 字符串

  .ini 文件中的段名, 它是包含在方括号中的标题短语(在此参数中不需要加方括号).

Key

  类型: 字符串

  .ini 文件中的键名.

Default

  类型: 字符串

  失败时(例如未找到所请求的键, 段或文件) 返回的值. 如果省略, 失败时抛出 OSError.

## 返回值

类型: 字符串

此函数返回指定键的实际值. 如果无法检索该值, 则返回 Default 参数所指示的默认值.

如果 Key 参数省略时, 函数返回整个段. 省略注释和空行. 仅检索该段的前 65,533 个字符.

如果 Key 和 Section 参数省略时, 函数返回以换行符(``n`) 分隔的段名列表.

## 错误处理

只有当 Default 被省略时, 才会在失败时抛出 OSError.

无论是否抛出异常, A_LastError 都会被设置为操作系统的 GetLastError() 函数的结果.

## 备注

操作系统会自动忽略获取字符串中的前导和尾随空格/制表符. 为避免此情况, 请将字符串括在单引号或双引号中. 最外层的单引号或双引号会被忽略, 但引号内的任何空格都会保留下来.

超过 65535 个字符的值可能会产生不一致的结果.

标准的 ini 文件看起来类似下面这样:

    [SectionName]
    Key=Value

Unicode: IniRead 和 IniWrite 依靠外部函数 GetPrivateProfileString 和 WritePrivateProfileString 来读取和写入值. 这些函数只支持 UTF-16 件中的 Unicode; 所有其他文件都假定使用系统的默认 ANSI 代码页.

## 相关

IniDelete, IniWrite, RegRead, file-reading loop, FileRead

## 示例

从标准格式的 .ini 文件中读取位于 section2 的键的值, 并将其存储在 Value.

    Value := IniRead("C:\Temp\myfile.ini", "section2", "key")
    MsgBox "The value is " Value

dftg