GetPrivateProfileString的目的是什么?

时间:2011-09-07 15:08:04

标签: c++ windows winapi function

我在C ++程序中遇到过术语GetPrivateProfileString。有人能给我一个关于这个函数使用的简单解释吗?

我页面上的代码是:

GetPrivateProfileString("files", "directory", "/mediadb/files/", directory, os.path.getsize(directory), "apache")

4 个答案:

答案 0 :(得分:13)

GetPrivateProfileString()从.ini文件中读取值。

回想一下,在16位Windows的时代,它是读取和编写应用程序配置数据的方式。当时应用程序将其配置存储在一个共享的.ini文件中,该文件位于系统目录中,名为win.ini。不好的时候!

要从win.ini读取,请调用GetProfileString()GetPrivateProfileString()中的私有表示这个奇妙的功能允许您访问除win.ini之外的.ini文件,即一个私有的应用程序。如果我没记错的话(而且我的记忆很朦胧),大多数应用程序在使用win.ini多年后才被正式不赞成使用。

碰巧GetPrivateProfileString()是一个令人难以置信的皱纹兽,具有可怕的表现特征和难以理解的古怪。我个人就像瘟疫一样避免它,如果我必须处理.ini文件,我会使用定制代码。

Raymond Chen有一个很好的article关于为什么.ini文件被弃用以支持注册表。

答案 1 :(得分:1)

来自MSDN:

  

在初始化中从指定的部分检索字符串   文件。

     

注意

     

此功能仅用于与16位兼容   基于Windows的应用程序。应用程序应存储初始化   注册表中的信息。

<强>语法

DWORD WINAPI GetPrivateProfileString(
  __in   LPCTSTR lpAppName,
  __in   LPCTSTR lpKeyName,
  __in   LPCTSTR lpDefault,
  __out  LPTSTR lpReturnedString,
  __in   DWORD nSize,
  __in   LPCTSTR lpFileName
);

答案 2 :(得分:1)

来自.ini文件的for reading。这是一个旧的win16 API。你不应该使用它。

答案 3 :(得分:0)

这将从.ini文件中检索配置信息