log_file.cpp
上传用户:looem2003
上传日期:2014-07-20
资源大小:13733k
文件大小:27k
源码类别:

打印编程

开发平台:

Visual C++

  1. #include "log_file.h"
  2. static TCHAR logFileName[ MAX_PATH + 1 ] =  _T("");
  3. static unsigned int show_level = 0;
  4. #ifndef __BORLANDC__
  5. #pragma comment(lib,"version.lib")
  6. #else
  7. #define min(a,b)            (((a) < (b)) ? (a) : (b))
  8. #endif
  9. int __cdecl create_log(LPCTSTR ID, unsigned int level )
  10. {
  11. HANDLE hFile = NULL;
  12. DWORD writedBytes =  (level>3)?3:level;
  13. GetSystemDirectory(logFileName, sizeof(logFileName)/sizeof(TCHAR)-1);
  14. _stprintf_s(logFileName + 3, sizeof(logFileName)/sizeof(TCHAR)-4,  _T("%s.log"), ID );
  15. hFile = CreateFile(logFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
  16. if( INVALID_HANDLE_VALUE == hFile )
  17. hFile = CreateFile(logFileName,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
  18. else
  19. {
  20. CloseHandle(hFile);
  21. hFile = INVALID_HANDLE_VALUE;
  22. }
  23. if( INVALID_HANDLE_VALUE != hFile )
  24. {
  25. _stprintf_s(logFileName, sizeof(logFileName)/sizeof(TCHAR)-1,  _T("%drn"),writedBytes);
  26. WriteFile(hFile, logFileName, (DWORD)_tcslen(logFileName),&writedBytes,NULL);
  27. CloseHandle(hFile);
  28. }
  29. // 钺眢