XN_C_API XnStatus xnOSWriteIntToINI(const XnChar* cpINIFile, const XnChar* cpSection, const XnChar* cpKey, const XnInt32 nSrc) { // Local function variables XnChar cpTempBuffer[XN_INI_MAX_LEN]; XnBool bRetVal = FALSE; XnBool bINIFileExists = FALSE; XnStatus nRetVal = XN_STATUS_OK; // Validate the input/output pointers (to make sure none of them is NULL) XN_VALIDATE_INPUT_PTR(cpSection); XN_VALIDATE_INPUT_PTR(cpKey); XN_VALIDATE_INPUT_PTR(cpINIFile); // Make sure the INI file exists XN_VALIDATE_FILE_EXISTS_RET(cpINIFile, nRetVal, bINIFileExists, XN_STATUS_OS_INI_FILE_NOT_FOUND); // Convert the integer into a string _itoa(nSrc, cpTempBuffer, 10); // Write the string to the INI file via the OS bRetVal = WritePrivateProfileString (cpSection, cpKey, cpTempBuffer, cpINIFile); // Make sure the value was written properly if (bRetVal == FALSE) { return (XN_STATUS_OS_INI_WRITE_FAILED); } // All is good... return (XN_STATUS_OK); }
XN_C_API XnStatus xnOSReadDoubleFromINI(const XnChar* cpINIFile, const XnChar* cpSection, const XnChar* cpKey, XnDouble* fDest) { // Local function variables XnChar cpTempBuffer[XN_INI_MAX_LEN]; XnUInt32 nReadBytes = 0; XnBool bINIFileExists = FALSE; XnStatus nRetVal = XN_STATUS_OK; // Validate the input/output pointers (to make sure none of them is NULL) XN_VALIDATE_INPUT_PTR(cpSection); XN_VALIDATE_INPUT_PTR(cpKey); XN_VALIDATE_INPUT_PTR(cpINIFile); XN_VALIDATE_OUTPUT_PTR(fDest); // Make sure the INI file exists XN_VALIDATE_FILE_EXISTS_RET(cpINIFile, nRetVal, bINIFileExists, XN_STATUS_OS_INI_FILE_NOT_FOUND); // Read the string from the INI file via the OS nReadBytes = GetPrivateProfileString (cpSection, cpKey, NULL, cpTempBuffer, XN_INI_MAX_LEN, cpINIFile); // Make sure the value was read properly if (nReadBytes == 0) { return (XN_STATUS_OS_INI_READ_FAILED); } // Convert the string into double *fDest = atof(cpTempBuffer); // All is good... return (XN_STATUS_OK); }
XN_C_API XnStatus xnOSReadIntFromINI(const XnChar* cpINIFile, const XnChar* cpSection, const XnChar* cpKey, XnUInt32* nDest) { XnStatus nRetVal = XN_STATUS_OK; XnBool bINIFileExists = FALSE; // Validate the input/output pointers (to make sure none of them is NULL) XN_VALIDATE_INPUT_PTR(cpSection); XN_VALIDATE_INPUT_PTR(cpKey); XN_VALIDATE_INPUT_PTR(cpINIFile); XN_VALIDATE_OUTPUT_PTR(nDest); // Make sure the INI file exists XN_VALIDATE_FILE_EXISTS_RET(cpINIFile, nRetVal, bINIFileExists, XN_STATUS_OS_INI_FILE_NOT_FOUND); // find value XnChar cpValueString[XN_INI_MAX_LEN]; nRetVal = FindEntry(cpINIFile, cpSection, cpKey, cpValueString); XN_IS_STATUS_OK(nRetVal); *nDest = atoi(cpValueString); return XN_STATUS_OK; }