-------------------------------------------------- -------------
There are many API functions to read the INI file directly, such as:
Uint getprivateprofileint
LPCTSTR LPAPPNAME, // Section Name
LPCTSTR LPKEYNAME, // Key Name
Int ndefault, // return value if key name not found
LPCTSTR LPFILENAME // Initialization File Name
);
DWORD GETPRIVATEPROFILESECTION
LPCTSTR LPAPPNAME, // Section Name
LPTSTR LPRETURNEDSTRING, // RETURN BUFFER
DWord nsize, // size of return buffer
LPCTSTR LPFILENAME // Initialization File Name
);
DWORD GETPRIVATEPROFILESECTIONNAMES
LPTSTR LPSZRETURNBUFFER, // Return BUFFER
DWord nsize, // size of return buffer
LPCTSTR LPFILENAME // Initialization File Name
);
DWORD getPrivateProfileString
LPCTSTR LPAPPNAME, // Section Name
LPCTSTR LPKEYNAME, // Key Name
LPCTSTR LPDEFAULT, / / DEFAULT STRING
LPTSTR LPRETURNEDSTRING, // Destination Buffer
DWord nsize, // size of destination buffer
LPCTSTR LPFILENAME // Initialization File Name
);
DWORD getPrivateProfileString
LPCTSTR LPAPPNAME, // Section Name
LPCTSTR LPKEYNAME, // Key Name
LPCTSTR LPDEFAULT, / / DEFAULT STRING
LPTSTR LPRETURNEDSTRING, // Destination Buffer
DWord nsize, // size of destination buffer
LPCTSTR LPFILENAME // Initialization File Name
);
Please see MSDN for details.
-------------------------------------------------- -------------
Give you a simple example:
CString strsection = "my section"; cString strstringItem = "my string item";
CString strintItem = "My IT ITEM";
CWINAPP * PAPP = AFXGetApp ();
PAPP-> WriteProfileString (STRSECTION, STRSTRINGITEM, "TEST");
CString Strvalue;
Strivue = PAPP-> getProfileString (StRSECTION, strstringItem);
Assert (Strvalue == "Test");
PAPP-> Writeprofileint (StRSECTION, StrintItem, 1234);
Int nvalue;
NValue = PAPP-> getProfileint (StRSECTION, StrintItem, 0);
Assert (nvalue == 1234);