MFC檔案讀寫之ini檔案
什麼是ini檔案?
initialization File,即為初始化檔案,是windows的系統配置檔案所採用的儲存格式,統管windows的各項配置。或者作為專案中的配置檔案,為整個專案所共用。
檔案格式為 節、鍵、值。其中節為[Section name], 引數為 key(鍵)=value(值)。
ini檔案中註解使用分號表示(;),在分號後面的文字,直到該行結尾都全部為註解。
[Section Name]用來表示一個段落,INI檔案可能是專案中共用的,所以使用[Section Name]段名來區分不同用途的引數區。key就用來表示引數名,value表示對應的值。
ini檔案讀
1、從系統的win.ini檔案中讀取資訊
(1) 讀取字串
DWORD GetProfileString(
LPCTSTR lpAppName, // 節名【不區分大小寫】
LPCTSTR lpKeyName, // 鍵名,讀取該鍵的值【不區分大小寫】
LPCTSTR lpDefault, // 若指定的鍵不存在,該值作為讀取的預設值
LPTSTR lpReturnedString, // 一個指向緩衝區的指標,接收讀取的字串
DWORD nSize // 指定lpReturnedString指向的緩衝區的大小
)
如:
CString str;
::GetProfileString("Test","id","Error",str.GetBuffer(20),20);
(2) 讀取整數
UINT GetProfileInt(
LPCTSTR lpAppName, // 同上
LPCTSTR lpKeyName, // 同上
INT nDefault // 若指定的鍵名不存在,該值作為讀取的預設值
)
2 從自己的ini檔案中讀取資訊
函式原型
DWORD GetPrivateProfileString(string lpszSection,string lpszKey,string lpszDefault, lpszReturnBuffer, cchReturnBuffer, lpszFile)
GetPrivateProfileString("DBInfo","IP","",IP.GetBuffer(MAX_PATH),MAX_PATH,iniFilePath);【測過】
CString IP, iniFilePath.
GetPrivateProfileString(Section name,key,"",key.GetBuffer(MAX_PATH),MAX_PATH,ini檔案路徑+檔名);
其中第一個引數為段名,第二個引數為引數名稱,第三個引數為沒找到key返回的預設值,第四個引數為指定一個字串緩衝區,第五個引數為指定裝載到lpReturnedString緩衝區的最大字元數量,第六個引數為初始化檔案的名字,如沒有指定一個完整路徑名,windows就在Windows目錄中查詢檔案。
__inline DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
)
DWORDGetPrivateProfileInt (string lpszSection,string lpszKey,long lpszDefault, lpszFile) 為初始化檔案中指定的條目獲取一個整數值,引數列表跟上文取String一致,而第三個引數是如果找不到則返回一個預設的long型別的值。
特別注意的是 如果找到的數字不是一個合法的整數,函式會返回其中合法的一部分。比如“xyz=55zz”這個條目,函式返回55。
UINT GetPrivateProfileInt(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
INT nDefault,
LPCTSTR lpFileName
);
寫INI檔案
1. 把資訊寫入系統的win.ini檔案
BOOL WriteProfileString(
LPCTSTR lpAppName, // 節的名字,是一個以0結束的字串
LPCTSTR lpKeyName, // 鍵的名字,是一個以0結束的字串。若為NULL,則刪除整個節
LPCTSTR lpString // 鍵的值,是一個以0結束的字串。若為NULL,則刪除對應的鍵
)
2. 把資訊寫入自己定義的.ini檔案
BOOL WritePrivateProfileString(
LPCTSTR lpAppName, // 同上
LPCTSTR lpKeyName, // 同上
LPCTSTR lpString, // 同上
LPCTSTR lpFileName // 要寫入的檔案的檔名。若該ini檔案與程式在同一個目錄下,也可使用相對
//路徑,否則需要給出絕度路徑。
)
如:
::WriteProfileString("Test","id","xym");
//在win.ini中建立一個Test節,並在該節中建立一個鍵id,其值為xym
::WritePrivateProfileString("Test","id","xym","d:\\vc\\Ex1\\ex1.ini");
//在Ex1目錄下的ex1.ini中建立一個Test節,並在該節中建立一個鍵id,其值為xym
//若Ex1.ini檔案與讀寫該檔案的程式在同一個目錄下,則上面語句也可寫為:
::WritePrivateProfileString("Test","id","xym",".\\ex1.ini");
需要注意的是,C系列的語言中,轉義字元'\\'表示反斜線'\'。另外,當使用相對路徑時,\\前的.號不能丟掉了。
相關推薦
MFC檔案讀寫之ini檔案
什麼是ini檔案? initialization File,即為初始化檔案,是windows的系統配置檔案所採用的儲存格式,統管windows的各項配置。或者作為專案中的配置檔案,為整個專案所共用。 檔案格式為 節、鍵、值。其中節為[Section name], 引數
C++檔案讀寫之獲取檔案大小的幾種常見的方式
對檔案操作時有時獲得檔案的大小時必要的.下面是獲得其大小小的較簡單方法. #include<io.h> //C語言標頭檔案 #include<iostream> //for s
Python檔案讀寫之r+/w+/a+
讀模式 r 開啟不存在的檔案會報錯、不能寫;如不指定模式則預設是r 寫模式 w 開啟不存在的檔案會,會新建一個檔案;開啟存在的檔案會先清空後覆蓋原有檔案;不能讀 追加模式 a 開啟不存在的檔
C 檔案讀寫(二進位制檔案)
我們將介紹 C 程式設計師如何建立、開啟、關閉文字檔案或二進位制檔案。 一個檔案,無論它是文字檔案還是二進位制檔案,都是代表了一系列的位元組。C 語言不僅提供了訪問頂層的函式,也提供了底層(OS)呼叫來處理儲存裝置上的檔案。本章將講解檔案管理的重要呼叫。 開啟檔案 您可
android檔案讀寫,ndk檔案讀寫
1 android檔案讀寫相關文章 http://sunzone.iteye.com/blog
Hadoop程式設計學習(四):使用FileSystem類進行檔案讀寫及檢視檔案資訊
http://www.cnblogs.com/beanmoon/archive/2012/12/11/2813235.html 在這一節我們要深入瞭解Hadoop的FileSystem類——這是與與hadoop的檔案系統互動的重要介面。雖然我們只是著重於HDFS的實現,但
Java 之 檔案讀寫及效能比較總結
Java 之 檔案讀寫及效能比較總結 2014年05月12日 17:56:49 閱讀數:21765 幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心
Python基本語法之文字檔案讀寫
檔案讀寫相關係統函式說明 系統函式 說明 input(tips); 提示使用者輸入資訊,例如 str = input("Please input your ip:") 將輸入的資訊賦值給變數
python之檔案讀寫(1)
1. 從檔案讀取資料 關於對檔案的操作,使用open(filename, mode),開啟檔案。與之對應的,close()用來關閉檔案。對檔案操作完畢切記要關閉。 open函式引數: mode 引數有: 模式 描述 t 文字模式
java大檔案讀寫操作,java nio 之MappedByteBuffer,高效檔案/記憶體對映
原文地址:https://www.cnblogs.com/lyftest/p/6564282.html java處理大檔案,一般用BufferedReader,BufferedInputStream這類帶緩衝的Io類,不過如果檔案超大的話,更快的方式是採用MappedByteB
R語言開發之二進位制檔案讀寫操作
二進位制檔案是一個檔案,其中包含僅以位和位元組形式儲存的資訊(0和1),它們是不可讀的,因為其中的位元組轉換為包含許多其他不可列印字元的字元和符號,隨便我們嘗試使用任何文字編輯器讀取二進位制檔案將顯示為類似Ø和ð這樣的字元。 但是二進位制檔案必須由特定程式讀取才能使用。例如
MFC在Unicode字符集下讀寫ANSI編碼檔案
讀取ANSI編碼檔案時,先將檔案儲存在char*指向的記憶體內,而後使用轉換將char*轉換為w_char_t*。wchar_t*可以使用CString的 Format函式。 CFile file(_T("test.txt"), CFile::modeRead);//讀ANSI編碼的檔案 i
VC INI檔案讀寫
VC中用函式讀寫ini檔案的方法 ini檔案(即Initialization file),這種型別的檔案中通常存放的是一個程式的初始化資訊。ini檔案由若干個節(Section)組成,每個Section由若干鍵(Key)組成,每個Key可以賦相應的值。讀寫ini檔案實際上就是讀寫某個的Sect
MFC中的檔案讀寫方法總結
CStdioFile繼承自CFile,一個CStdioFile 物件代表一個用執行時函式fopen 開啟的C 執行時流檔案。 流式檔案是被緩衝的,而且可以以文字方式(預設)或二進位制方式開啟。文字方式提供對硬回車—換行符對的特殊處理。當你將一個換行符(0x0A)寫入一個文字方式的CStdioFi
Unity3D之檔案讀寫檔案
為了完成資源的讀取和儲存,這裡做了好多的實驗,也參考了很多的文章和帖子,這裡十分感謝雨鬆的網站,很多時候都能在那裡找到思路和相應的回答。希望這個網站能一直辦下去。 開始正文,為了完成上述功能,自己本地做了很多實驗,為了統一資源版本,我想到的辦法就是把所有的AssetsBun
Python基礎知識之檔案讀寫與修改
基本操作 f = open("file1", "r") # 開啟檔案 first_line = f.readline() # 讀一行 data = f.read() # 讀取剩下所有內容,檔案大時候不要用 f.close() #關閉檔案
opencv學習(十七)之XML和YAML檔案讀寫操作
可能大部分人到現在接觸的XML和YAML檔案很少,等以後訓練人臉模型進行人臉識別的時候用的就多了。現在先了解一下這兩種檔案型別。 XML:Extensible Markup Language,可擴充套件標記語言,標準通用語言的子集,是一種用於標記電子檔案使其具
python之關於csv的檔案讀寫記錄
相關配置: Anaconda 4.2.0 (64-bit) Python 3.5.2 關於csv檔案讀寫練習小系統。 程式如下: import csv import time import sys filename = 'ha.csv' datas = [['he
C++ 檔案讀寫函式之——fopen、fread和fwrite
(1)fopen()函式:開啟檔案 包含標頭檔案: #include<stdio.h> 格式:FILE * fopen(const char * path,const char * mode) 引數: path:需要開啟的檔案路徑
檔案讀寫工具簡單實現(一)之java的UI介面視覺化畫圖/製作
現在和大家介紹下,我們簡單的介面工具開發,使用者選擇檔案,讀出部分想要檔案內容,滑鼠在大輸入框點選某一行就會顯示在其他輸入框中,然後在其他輸入框修改後內容,點寫入按鈕即可修改並顯示到大輸入框中,且原檔案對應剛剛選的改行內容;大概的介面如下,網路現在原因不能上傳圖片:選擇檔案按