API讀寫INI檔案

2021-05-22 14:26:07 字數 2843 閱讀 7665

ini檔案的大概內容如下:

[del_table]

langcount = 24

lang1  =  cp936.bf          

lang2  =  cp1252.bf

lang3  =  cp950.bf

lang4  =  cp932.bf

cstring csdeltable = "del_table";

cstring cslangcount = "langcount";

char szlangnum[max_path];

getprivateprofilestring(csdeltable,cslangcount,"",szlangnum,max_path,csinipath);

szlangnum為cslangcount的等號右邊的字串。

用api寫ini檔案的函式有

用api讀ini檔案的函式有

當然還有如writeprofilestring,writeprofilesection,writeprofilesturct, getprofilestring,getprofilestruct,getprofilesectionnames,getprofileint,getprofilesection但這些只對win.ini有效

下面我們來學習它們的用法

writeprivateprofilestring函式是向ini檔案中寫入字串,如

writeprivateprofilestring(pchar('型別'),pchar('api'),pchar('api 真好!'),pchar('c:/example.ini'));

如果第二個引數是nil,那麼該操作將刪除該節

如果第三個引數為nil,那麼該操作將刪除該節中的所有鍵

如果在指定的檔案中沒有路徑,那麼它將在系統的目錄尋找檔案,如果不存在則建立

writeprivateprofilesection是向檔案中寫入一整個鍵,其它鍵的格式為key = value,如

writeprivateprofilesection(pchar('型別'),pchar('其它=123'),pchar('c:/example.ini'));

注意,該操作將刪除該節中的所有鍵後在進行本次的寫入

writeprivateprofilestruct是向檔案中寫入乙個結構,如

type

tperson = record

name:string;

age:integer;

end;

varper:tperson;

writeprivateprofilestruct(pchar('型別'),pchar('結構'),@per,sizeof(per),pchar('c:/example.ini'));

getprivateprofilestring是從檔案中讀出乙個指定鍵的字串,如果沒有找到,則返回預設值

getprivateprofilestring(pchar(『型別'),pchar('api'),pchar('no value'),str1,21,pchar('c:/example.ini'));

getprivateprofilesection是從檔案中讀出一整個鍵

getprivateprofilesection('型別',str1,200,'c:/example.ini');

getprivateprofileint是從檔案中讀出指定鍵的整型值,如果沒找到或不是整型的值,則返回預設值,如果返回值小於0,則返回0,如

i:=getprivateprofileint(pchar('型別'),pchar('整型'),i,pchar('c:/example.ini'));

showmessage(inttostr(i));

getprivateprofilestruct從檔案中讀出指定鍵的結構值,如

type

tperson = record

name:string;

age:integer;

end;

varbuffer:tperson;

getprivateprofilestruct(pchar('型別'),pchar('結構'),@buffer,sizeof(per),pchar('c:/example.ini'));

getprivateprofilesectionnames是從檔案中讀出所有節的名稱,該函式返回讀入緩衝區的字元數,如

count:=getprivateprofilesectionnames(str3,200,pchar('c:/example.ini'));

showmessage(str3);

此處顯示的只是第乙個節的名稱,如果要顯示第二個字元的名稱則要用到下面這句

showmessage(str3+5);

這句不用多解釋吧?

以上就是這些函式的用法。你可能要問「怎麼只有寫字串的呀,怎麼沒有寫其它的型別的呢?」,問的好,不過其它型別的用writeprivateprofilestring都能代替,如要寫浮點型的就把該型別的放到』』當中,如』12.5』。那位學友又問了,「如果是讓使用者輸入,他們也不知道應該輸入什麼,怎麼能限制他們輸入的都是數字」,這方法可太多了,如用控制項或檢查它們是不是在指定的數字,你可別說不會限制它們是不是數字呀*_^,如果真的不會,你就看它們的ascii碼是不是在48-57之間就行了。「那讀出呢?」,delphi不是有strtoint,strtofloat,strtocurr等這麼函式嘛,可以用它們來轉換。

我在研究這些函式的同時,發現了一段有趣程式**,但我不知道它為什麼要這樣做,有什麼好處,大家可以看看它們,不過是用c寫的,它們在delphi sdk或msdn中查詢writeprivateprofilestring函式,在最下面的那個段**就是

如果我在上面說的有錯誤的話,希望大家指正,共同討論學習

INI檔案讀寫API

在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入ini檔案中,程式初始化時再讀入.具體應用如下 一.將資訊寫入.ini檔案中.1.所用的winapi函式原型為 bool writeprivateprofilestring lpctstr lpkey...

C C 跨平台INI檔案讀寫API

已測試通過的開發環境 winxp vista vc6.0 vs2003 vs2005 vs2008 fc6.0 fc7.0 ubuntu7.10 gcc4.1 arm linux arm linux gcc3.3.2 專案特點 1.使用標準c庫函式,支援windows linux unix等多平台。...

windows系統讀寫INI檔案的API

ini檔案 即initialization file 這種型別的檔案中通常存放的是乙個程式的初始化資訊。ini檔案由若干個節 section 組成,每個section由若干鍵 key 組成,每個key可以賦相應的值。讀寫ini檔案實際上就是讀寫某個的section中相應的key的值,而這只要借助幾個...