MFC extension class CPrivateProfile

Environment: Visual C++ 6, Windows 95/98/Me/NT/2000/XP

The class CPrivateProfile is a wrapper class around the Win32 functions GetPrivateProfileString and GetPrivateProfileInt. It enables an easy way to traverse and read INI files. The allocation and deallocation of needed internal buffers will be managed automatically. You can easily extend the class by write and delete operations.

CPrivateProfile class members:
Constructor:
CPrivateProfile(LPCTSTR pszFileName) Constructs a CPrivateProfile object and assigns to it the INI file pszFileName.
Public member functions:
int GetInt(LPCTSTR pszSectionName, LPCTSTR pszKeyName, int nDefault = 0) const Retrieves the integer associated with the key pszKeyName in the section pszSectionName. If the key name cannot be found nDefault will be returned.
LPCTSTR GetNext(POSITION& position) const Returns a pointer to the next section or key name. position is a reference to a POSITION value returned by a previous GetNext or GetStartPosition.
POSITION GetStartPosition(LPCTSTR pszSectionName = 0) Returns a POSITION value that indicates a starting position for iterating a section or key list. If pszSectionName is 0 POSITION is the starting position of the section list. Otherwise POSITION is the starting position of the key list associated with the section pszSectionName.
CString GetString(LPCTSTR pszSectionName, LPCTSTR pszKeyName, LPCTSTR pszDefault = _T("")) const Retrieves the string associated with the key pszKeyName in the section pszSectionName. If the key name cannot be found pszDefault will be returned.

Downloads

Download demo project - 50 Kb
Download source - 2 Kb


About the Author

Thomas Holte

Born in 1953 I'm a passionate programmer since 30 years. I'm employed as a software developer at a large company in Nuremberg, Germany. My hobbies are programming (what else) and digital photography.

Comments

  • Warning !!!

    Posted by Legacy on 01/06/2002 12:00am

    Originally posted by: Remon

    For Windows NT/2000 or later, calls to private profile functions may be mapped to the registry instead of to the specified initialization files when the initialization file and section are specified in the registry under the following keys: HEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping.

    So when using this class to read C:\WinNT\Win.Ini, the sections & keys returned are read from the registry and won't reflect the real file contents....

    See Micro$oft documentation for more informations.

    Thanks for your contribution
    A++
    R�mon

    Reply
  • Great, but no implemention of WritePrivateProfile*()

    Posted by Legacy on 01/03/2002 12:00am

    Originally posted by: Phips Xue

    It's so great that Thomas encapsolute the functions into a class, but there's no implemention of WritePrivateProfile*().

    ;)

    Reply
  • Yes, but...

    Posted by Legacy on 12/29/2001 12:00am

    Originally posted by: Tiko Gola

    What is your picture for ?

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: May 11, 2015 @ 1:00 p.m. ET / 10:00 a.m. PT One of the languages that have always been supported with the Intel® RealSense™ SDK (Software Developer Kit) is JavaScript, specifically so that web-enabled apps could be created. Come hear from Intel Expert Bob Duffy as he reviews his own little "space shooting" game where the orientation of your face controls the aiming reticle to help teach developers how to write apps and games in JavaScript that can use facial and gesture …

  • Several technologies are driving big changes at federal agencies, but at the forefront is cloud computing. Cloud -- the use of remote, Internet-hosted servers for storing, managing and processing data in place of on-site technology -- is helping along technologies such as those related to collaboration and enabling new ones, such as the analysis of Big Data. Cloud is complicated but also growing in importance at federal agencies. Read this technology article to learn how governmental entities are creating a …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date