Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

´´½¨ÖîÈç "c:\a\b\c\d\yeah.log"Öеĸ÷¼¶Îļþ¼Ð

×î½üά»¤Logger¹²Ïí¿âµÄʱºòÐÂÔöÁ˸üÈËÐÔ»¯µÄ×Ô¶¯´´½¨¸÷¼¶Ä¿Â¼µÄ¹¦ÄÜ£¬ÏÂÃæÊÇÎÒʵÏÖ´´½¨ÖîÈç "c:\a\b\c\d\yeah.log"Öеĸ÷¼¶Îļþ¼ÐµÄ¹ý³Ì£¬Çë´ó¼ÒÖ¸½Ì£¡
BOOL CreateDirectoryInPathW(const wchar_t *sLogPath)
{
 static BOOL bRet = 0;
 CString csFullDir(_T(""));//ԭʼȫ·¾¶
 int nLen = 0;//ԭʼȫ·¾¶³¤¶È
 int nIdx = 0;//µ±Ç°“\\”µÄλÖÃ
 int nLeft = 0;
 CString csLastDir(_T(""));
 if (wcslen(sLogPath) > MAX_PATH)
 {
  OutputDebugString(_T("Failed to create directory.This limit is related to how the CreateDirectory function parses paths\r\n"));
  return 0;
 }
 csFullDir.Format(_T("%s"), sLogPath);
 nLen = csFullDir.GetLength();
 if (-1 == csFullDir.Find(_T('\\'), 0))
 {//²»Óô´½¨Îļþ¼Ð
  return 1;
 }else if (2 == nIdx)
 {//¸ùĿ¼ºöÂÔ
  nLeft = nIdx+1;
 }
 while (1)
 {
  nIdx = csFullDir.Find(_T('\\'), nLeft);
  if (-1 == nIdx)
  {
   break;
  }
  nIdx = csFullDir.Right(nLen-nLeft).Find(_T('\\'), 0);
  nLeft += nIdx+1;
  csLastDir = csFullDir.Left(nLeft);
  bRet = CreateDirectory(csLastDir, NULL);
 }
 return bRet;
}


Ïà¹ØÎĵµ£º

ÉîÈëÀí½âC/C++º¯ÊýÖ¸Õë

ת£ºhttp://school.ogdev.net/ArticleShow.asp?categoryid=10&id=6019
º¯ÊýÖ¸ÕëÊý×éµÄÃîÓÃ
±ÊÕßÔÚ¿ª·¢Ä³Èí¼þ¹ý³ÌÖÐÓöµ½ÕâÑùÒ»¸öÎÊÌ⣬ǰ¼¶Ä£¿é´«¸øÎÒ¶þ½øÖÆÊý¾Ý£¬ÊäÈë²ÎÊýΪ char* bufferºÍ int length£¬bufferÊÇÊý¾ÝµÄÊ×µØÖ·£¬length±íʾÕâÅúÊý¾ÝµÄ³¤¶È¡£Êý¾ÝµÄÌØµãÊÇ£º³¤¶È²»¶¨£¬ÀàÐͲ»¶¨£¬ÓɵÚÒ»¸ö×Ö½Ú£¨buffer[0] ......

Linux C notes (BOOK UNIX)

Chapter 1: Thread
¢Ù thread functions
1. pthread_self();
2. thread existing
    you can get the value of rval_ptr just by  pthread_join(pthread_t tht, void ** rval_ptr)
    cancel a thread as the thread exits with PTHREAD_CANCELED in pthread_exit, this functio ......

Linux Cµ÷ÊÔÈëÃÅ

1.×Ô¶¨ÒåÊä³ö
  Ïë±Ø´ó¼Ò¶¼ÓÐÀûÓÃÊä³öº¯ÊýÈçprintfÀ´°ïÖúÎÒÃǵ÷ÊÔ³ÌÐòµÄ¾­Àú£¬ÕâÊÇÒ»ÖֱȽÏԭʼµÄ³ÌÐòµ÷ÊÔ¸¨Öú·½·¨£¬ÔÚLinuxÏÂÒ²¿ÉÒÔΪÎÒÃÇËùÓᣲ»¹ýÕâÖÖ·½·¨ÓÐÒ»¸öÃ÷ÏÔµÄȱµã£¬¾ÍÊÇÔÚµ÷ÊÔÍêºóÎÒÃDZØÐë×¢ÊÍ»òɾ³ýµôÕâЩ¸¨Öú´úÂë¡£Linux CÌṩÁË-DDEBUGÕâ¸ö±àÒë±ê¼ÇÀ´¶¨ÒåDEBUGÕâ¸ö·ûºÅ£¬½èÖúÓڸ÷ûºÅ£¬ÎÒÃÇ¿ÉÒÔÔÚÓ¦Ó ......

¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ ÉîÈëÖ¸Õë

ÔÙÉÏһƪ£¬ÎÒÃǽéÉÜÁË»ù±¾µ÷ÊÔ¡£Ö®Ç°Ò²ËµÁË£¬Ö®ËùÒ԰ѵ÷ÊÔ·ÅÔÚÇ°Ãæ½²ÊÇÒòΪºóÃæµÄÎÄÕ»ù±¾¶¼»áÓõ½µ÷ÊÔ¡£¹Û²ìÎÒÃǵijÌÐòµ½µ×·¢ÉúÁËʲô¡£ÈÃÎÒÃÇÄܹ»Ö±½ÓÃ÷Á˵Ŀ´Çå³þÎÊÌâµÄ±¾ÖÊ¡£±¾Æª½«ÉîÈëÒ»µã½éÉÜÖ¸ÕëÕâ¸öÈÃÎÞÊý³õѧÕßη¾åµÄ¶«Î÷¡£Ï£Íû´ó¼ÒÔÙ¿´Í걾ƪ֮ºóÄܶÔÖ¸ÕëÓÐеÄÈÏʶ£¬Ö®ºó²»ÔÙ¾åÅÂËü¡£¾õµÃËü¾ÍÄÇô»ØÊ¡£ÄÇÏÂÃæÎÒ ......

C/C++ÓïÑÔstructÉî²ã̽Ë÷

1. structµÄ¾Þ´ó×÷ÓÃ
¡¡¡¡Ãæ¶ÔÒ»¸öÈ˵ĴóÐÍC/C++³ÌÐòʱ£¬Ö»¿´Æä¶ÔstructµÄʹÓÃÇé¿öÎÒÃǾͿÉÒÔ¶ÔÆä±àдÕßµÄ
±à³Ì¾­Ñé½øÐÐÆÀ¹À¡£ÒòΪһ¸ö´óÐ͵ÄC/C++³ÌÐò£¬ÊƱØÒªÉ漰һЩ(ÉõÖÁ´óÁ¿)½øÐÐÊý¾Ý×éºÏ
µÄ½á¹¹Ì壬ÕâЩ½á¹¹Ìå¿ÉÒÔ½«Ô­±¾ÒâÒåÊôÓÚÒ»¸öÕûÌåµÄÊý¾Ý×éºÏÔÚÒ»Æð¡£´ÓijÖ̶ֳÈÉÏÀ´
˵£¬»á²»»áÓÃstruct£¬ÔõÑùÓÃstructÊÇÇø± ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ