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函數,之后就可以用了。
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函數,之后就可以用了。