INI文件的结构很简单,就是那种带段落的文本文件。每个段落用括号括起来,下面跟着一堆关键字=值的配对。比如:
KeyWord1 = Value1
KeyWord2 = Value2
...
然后是C相关的操作问题。大家都知道,C不像C++那样自带一套原生类库,它用的是.NET框架提供的统一类库(.Net Framework SDK)。虽说这个类库功能挺强,但也不是啥都有,比如直接操作INI文件的功能就没有。
这时候就得靠Windows系统自己带的Win32 API了,具体就是WritePrivateProfileString和GetPrivateProfileString这两个函数。它们藏在kernel32.dll里面。
问题是,C用的是托管代码,而这些Win32 API是非托管代码,不能像普通类库那样直接调用。不过好在.NET提供了个互操作机制,可以用来调用这些老函数。System.Runtime.InteropServices命名空间里的DllImport属性就能搞定这事儿。
简单说,就是在C代码里用DllImport来声明一下这两个API函数,之后就可以用了。