C Windows讀寫INI檔案

2021-07-08 20:25:35 字數 1735 閱讀 2661

c++ windows讀寫ini檔案

一:將資訊寫入到ini檔案

所用函式:

bool writeprivateprofilestring(

lpcstr lpkeyname,

lpcstr lpstring,

lpcstr lpfilename)

引數說明:

ini檔案中欄位名

lpcstr lpkeyname   是對應字段(

)下的key名,類似c++中的變數

lpcstr lpstring          是對應鍵名下的鍵值,必須為

lpcstr或cstring型別

lpcstr lpfilename   是ini檔案的完整路徑

例項:cstring strname ,strtemp;

int iage;

strname = "李四";

iage = 18;

writeprivateprofilestring("studentinfo","name",strname,"d:\\stu\\student.ini");

//此時ini檔案中會出現

//[studentinfo]

//name=李四

strtemp.format("%d",iage);

writeprivateprofilestring("studentinfo","age",strtemp,"d:\\stu\\student.ini");

二:將ini檔案中的內容讀入記憶體

讀cstring型別所用函式:

dword getprivateprofilestring(

lpcstr lpkeyname,

lpcstr lpdefault,

lpstr lpreturnedstring,

dword nsize,

lpcstr lpfilename );

引數說明:

ini檔案中值的cstring物件,即目的快取器

dword nsize 目的快取器的大小

lpcstr lpfilename 是ini檔案的完整路徑

例項:cstring stuname;

int stuage;

getprivateprofilestring("studentinfo","name","無",stuname.getbuffer(max_path),max_path,"d:\\stu\\student.ini");

注:在使用完getbuffer()後要呼叫releasebufer()

//執行後stuname的值為李四,如果引數1,2ini檔案中無,stuname值為無。

讀整形所用函式:

uint  

getprivateprofileint(

lpcstr lpkeyname,

int ndefault,

lpcstr lpfilename

);stuage = getprivateprofileint("studentinfo","age",10,"d:\\stu\\student.ini");

注:在windows下writeprivateprofilestring、getprivateprofilestring、getprivateprofileint都是受字符集所影響的,如果你按照本例操作,出現函式引數型別問題,請將vs中專案的屬性->配置屬性中的字符集改為對應的字符集(unicode/多位元組字符集)即可。

INI檔案讀寫

一 有必要了解ini檔案的結構 注釋 小節名 關鍵字 值 ini檔案允許有多個小節,每個小節又允許有多個關鍵字,後面是該關鍵字的值。值的型別有三種 字串 整型數值和布林值。其中字串存貯在ini檔案中時沒有引號,布林真值用1表示,布林假值用0表示。注釋以分號 開頭。二 定義 1 在inte ce的us...

讀寫ini檔案

using system using system.io using system.text using system.configuration using system.runtime.interopservices using system.collections.specialized us...

讀寫ini檔案

using system using system.io using system.text using system.configuration using system.runtime.interopservices using system.collections.specialized us...