Here is my code:
TCHAR *sResult = (TCHAR *) calloc(16384+1, sizeof(TCHAR)); sResult = (TCHAR *) GetValueFromFile(sFilename,L"Dept",L"Names"); // #1 _tcscpy(sResult,(TCHAR *) GetValueFromFile(sFilename,L"Dept",L"Names"); // #2 Function:
TCHAR *GetValueFromFile(TCHAR *sFilename,TCHAR *sDept,TCHAR *sNames) { ... } Which is correct to do? #1 or #2?
Thanks everyone. Edit #1:
I'm using VS2008 in .cpp files, but really just C code.
I just need to open a file in GetValueFromFile and send the return string back. Should I be allocating memory in GVFF and freeing it in my program?
main() { TCHAR *sResult; DWORD dwRetVal = GetValueFromFile(sFile,L"Dept",L"Name", &sResult); ... free(sResult);sResult=NULL; } Like this?
DWORD GetValueFromFile(TCHAR *sFilename,TCHAR *sDept,TCHAR *sNames, TCHAR ** sValueData) { dwL = GetStringDataLength(…) *sValueData = (TCHAR *) calloc(dwL+1, sizeof(TCHAR)); _tcscpy_s(sValueData,dwL,sDataFromFile); }
TCHAR*inGetValueFromFileget allocated?