我在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