我在C++程序中遇到了術語GetPrivateProfileString
。任何人都可以給我一個使用這個函數的簡單解釋嗎?GetPrivateProfileString的目的是什麼?
我的網頁上的代碼是:
GetPrivateProfileString("files", "directory", "/mediadb/files/", directory, os.path.getsize(directory), "apache")
我在C++程序中遇到了術語GetPrivateProfileString
。任何人都可以給我一個使用這個函數的簡單解釋嗎?GetPrivateProfileString的目的是什麼?
我的網頁上的代碼是:
GetPrivateProfileString("files", "directory", "/mediadb/files/", directory, os.path.getsize(directory), "apache")
GetPrivateProfileString()
從.ini文件中讀取值。
回想起來,在16位Windows的日子裏,它是讀寫應用程序配置數據的方式。那時應用程序將其配置存儲在一個名爲win.ini的系統目錄中的共享.ini文件中。艱難時期!
要從win.ini讀取,請撥打GetProfileString()
。 GetPrivateProfileString()
中的私人表明,這個奇妙的功能允許您訪問除win.ini以外的.ini文件,即私人應用程序。如果我記得正確(而且我的記憶很朦朧),大多數應用程序在使用win.ini進行數年和數年之後才正式提出這樣做。
它恰巧GetPrivateProfileString()
是一個令人難以置信的皺紋野獸,具有可怕的性能特點和難以理解的古怪。我親自避免它像瘟疫一樣,如果我必須處理.ini文件,我使用定製的代碼來執行此操作。
Raymond Chen有一個不錯的article關於爲什麼.ini文件被棄用,以支持註冊表。
+1不只是從MSDN複製粘貼。但我認爲'GetPrivateProfileString()'實際上是從應用程序的私有.ini文件中讀取的。你所說的那個從普通的Win.ini文件讀取的是'GetProfileString()'。 – Praetorian
@Praetorian謝謝你。我的記憶很朦朧。很久以前了!我已經更新了答案,希望它更準確。 –
+1非常感謝您的時間和耐心@大衛Heffernan! – smurf
從MSDN:
檢索從指定的節中的字符串初始化 文件。
注
只是爲了與16位 基於Windows的應用程序的兼容性提供此功能。應用程序應將初始化 信息存儲在註冊表中。
語法
DWORD WINAPI GetPrivateProfileString(
__in LPCTSTR lpAppName,
__in LPCTSTR lpKeyName,
__in LPCTSTR lpDefault,
__out LPTSTR lpReturnedString,
__in DWORD nSize,
__in LPCTSTR lpFileName
);
這不是太大的幫助。什麼是初始化文件?我認爲smurf需要該級別的幫助,而不是MSDN的複製/粘貼。 –
這檢索從.ini文件
這是一個從.ini文件for reading配置信息。這是一個老的win16 API。你不應該使用它。
一個C++ ***腳本***? –
在您最喜歡的搜索引擎中鍵入該詞,您將獲得官方文檔_fast_。 – Mat
所有關閉這個問題的人都被誤解了問題的範圍。這不是關於隨機代碼庫中的函數。這個函數是一個微軟的Windows API,與下面的論點相反,這個API在很多遺留代碼中都很常見。所以,這個問題實際上很可能會在未來有訪問者。 – PoP