C INI檔案操作

2022-01-19 21:57:52 字數 2046 閱讀 4805

由節名、鍵名、鍵值組成。形式如下:

[節名]

鍵名 = 鍵值

鍵名2 = 鍵值2

乙個ini檔案,可以有多個節

讀寫ini檔案

writeprivateprofilestring

需要包含標頭檔案#include

該函式用於向ini檔案中寫入乙個字串資料。

函式原型:

bool writeprivateprofilestring(

lpctstr lpkeyname, //鍵名

lpctstr lpstring, //鍵值

lpctstr lpfilename, //儲存的檔案

)

getprivateprofilestring

該函式用於獲取ini檔案中的鍵值。

函式原型:

dword getprivateprofilestring(

lpctstr lpkeyname, //鍵名

lpctstr lpdefault, //預設值

lptstr lpreturnedstring, //讀取的值

dword nsize, //lpreturnedstring緩衝區的大小

lpctstr lpfilename, //ini檔名

)

返回值是字元複製到緩衝區的數量,不包括終止null字元。

getprivateprofileint

該函式用於從ini檔案中獲取整型資料。

該函式原型:

uint getprivateprofileint(

lpctstr lpkeyname, //鍵名

int ndefault, //預設值

lpctstr lpfilename,//ini檔名

)

函式返回實際讀取的整數值

getprivateprofilesectionnames

該函式用於返回ini檔案中的所有節名。

函式原型:

dword getprivateprofilesectionnames(

lptstr lpszreturnbuffer, //接收節名的資料緩衝區

dword nsize, //緩衝區大小

lpctstr lpfilename,//ini檔案

)

返回值:

返回值指定數量的字元複製到指定的緩衝,不包括終止null字元。

如果緩衝區沒有達到足以包含所有相關的部分名稱指定的初始化檔案,返回值等於指定的長度nsize - 2.

getprivateprofilesection

該函式用於獲取指定節下的所有的鍵名和鍵值。

函式原型:

dword getprivateprofilesection(

lptstr lpreturnedstring, //接收資料緩衝區

dword nsize, //緩衝區大小

lpctstr lpfilename, //ini檔案

)

示例程式如下:

#includevoid test()

簡易封裝一下:

#pragma once

#includeclass inihelper

bool writekeyvalue(lpctstr section, lpctstr key, lpctstr value)

uint readint(lpctstr section, lpctstr key, int defaultvalue = 0)

dword readsectionnames(lpwstr buffer, int nsize)

dword readsection(lpctstr section, lpwstr buffer, int nsize)

private:

lpctstr lpfilename;

};

C ini 檔案操作

class clsini 寫ini檔案 public void iniwritevalue string section,string key,string value 讀取ini檔案指定 public string inireadvalue string section,string key 寫i...

C ini 檔案的讀寫

先 參考 之前的乙個博文 配置檔案中經常用到ini檔案,在vc中其函式分別為 寫入.ini檔案 bool writeprivateprofilestring lpctstr lpstring,鍵值,也就是資料 lpctstr lpfilename ini檔案的路徑 讀取.ini檔案 dword ge...

C ini檔案讀寫類

vc中提供了api函式進行ini檔案的讀寫操作,但是微軟推出的c 程式語言中卻沒有相應的方法,下面是乙個c ini檔案讀寫類,從網上收集的,很全,就是沒有對section的改名功能,高手可以增加乙個。using system using system.io using system.runtime....