Code: TCHAR szPath[MAX_PATH]; memset(szPath,'\0',MAX_PATH); It will have all the memory location of szPath filled with '\0'
> memset(szPath,'\0',MAX_PATH); And if TCHAR isn't a char, then you'll need one of Code: memset(szPath,'\0',MAX_PATH * sizeof TCHAR ); memset(szPath,'\0',MAX_PATH * sizeof szPath[0] ); memset(szPath,'\0',sizeof szPath ); http://c-faq.com/malloc/calloc.html Focus on the bit about "all-bits-zero". In other words, don't rely on memset giving you valid floats or pointers, if you try the same approach on attempting to clear more complex data types.