已解決 ini檔案無法讀取資訊

2021-07-10 18:37:09 字數 785 閱讀 6020

c++的庫提供了現成的讀取.ini檔案的api:getprivateprofileintgetprivateprofilestring,具體上網查。

我的呼叫如下:

int port = getprivateprofileint(l"port", l"port", 5555, l".\\test.ini");
test.ini檔案內容如下:

[port]

port=8888

但是port始終為5555,而不是檔案裡的8888

我本以為可能是斜槓寫反了之類的問題,也有可能是斜槓只寫了乙個的問題,反反覆覆改了幾遍,仍然無果。直到在某帖子裡看到ini檔案的編碼格式為ansi才能被正確讀取,才算找到了解決方法。

該函式使用需要注意的問題如下:

1、斜槓寫兩道,而且是\不是/。在資料夾路徑中用的就是\,貼上程序式需要多加一道。

2、我上邊ini檔案用的是相對路徑,這個相對是相對於真正呼叫到它的cpp而言的。我這個語句寫在乙個最終封裝為dll輸出的a.cpp中,在另外乙個b.cpp中呼叫該dll的介面,那麼按照我的相對路徑,我的test.ini應該放在b.cpp的同級目錄下,而不是a.cpp。

3、就是上面的編碼格式問題。值得注意的是,前不久我在寫乙個flash讀取txt檔案的程式時,也遇到了編碼問題。txt預設儲存為ansi格式,而flash讀取需要讀utf-8格式,所以這和本題正好相反。切記切記。

VC開啟bmp檔案,讀取資訊

file fopen const char filename,const char mode mode一般為 r 或者 w opens for reading.opens an empty file for writing.fopen g test.txt w 可行 filename dlg.get...

Golang讀取配置檔案 ini 資訊

package main import fmt io ioutil regexp strings func checkerr e error 函式名 getcfg tag string,cfg string string 參 數 tag string 引數的名稱 cfg string 配置資訊字串 ...

Qt讀取ini檔案亂碼的解決方法

準備用ini檔案做多國語言的配置檔案,需要將不同國家的語言放到ini檔案中,發現把韓語放到檔案中讀取出來的字元不對。有問題問度娘,經過一段時間的搜尋實驗找到了解決辦法。下面把具體步驟分享一下 1.設定ini檔案的編碼格式為utf 8 2.使用qsettings讀取檔案時設定檔案編碼 qsetting...