´´½¨ÖîÈç "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;
}
Ïà¹ØÎĵµ£º
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 ......
´ÓÌìÌÃ×ßÏòµØÓüµÄÁù²¿... 1
µÚÒ»²½¡¢°Ñfor±ä³Éwhile. 2
µÚ¶þ²½£¬°ÑÑ»µ±ä³ÉµÝ¹é... 2
µÚÈý²½£¬ÅªÂÒ´úÂë½á¹¹/ʹÓÃûÓк¬ÒåµÄ±äÁ¿Ãû... 3
µÚËIJ½£¬È¡ÏûÁÙʱ±äÁ¿... 3
µÚÎå²½£¬¼ÌÐøÅªÂÒ±äÁ¿Ãû... 4
µÚÁù²½£¬ÒƳý³£Á¿... 4
´ÓÌìÌÃ×ßÏòµØÓüµÄÁù²¿
¿ªÊ¼³ÌÐò
ÏÂÃæÊÇÒ»¸öÕÒ³öËØÊýµÄ³ÌÐò£º
²é¿´Ô´´úÂë´òÓ¡ ......
·¢ÌùǰÇëÏȶÁ£ºc/c++ °æ“¾µä”ÎÊÌâ½â´ð
C/C++Ò»Ö±¶¼ÊǵØÇòÉÏʹÓÃ×î¹ã·ºµÄ±à³ÌÓïÑÔ£¬¶øÎÒÃǵÄC/C++°æ×ÔÈ»ÈËÆøÒ²²»²î£¬µ«ÊÇÒ»Ö±¶¼ÓÐһЩºÝ³õ¼¶µÄÎÊÌâÌáÁËÓÖÌᣬ²¢²»ÊÇ˵ÕâЩÎÊÌâÈçºÎÈçºÎµÄ²»ºÃ£¬»¹ÊÇÈçºÎÈçºÎµÄÈõÖÇ£¬ÕâЩÎÊÌâÒ»Ö±¶¼ÊÇÐÂÊÖѧϰµÄ»ù´¡£¬ÊDZØÐëÒª¾¹ýµÄÃż÷£¬ËùÒÔÒ²ÓдæÔڵıØÒª£¬µ«ÊÇÌáµÄ¶àÁË£¬ ......
¡¡¡¡1.¸ÅÊö
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬Òå
¡¡¡¡voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊ ......
VCÖÐÏÂÃæ¼¸¸ö½á¹¹Ìå´óС·Ö±ðÊǶàÉÙÄØ
struct MyStruct
{
double m4;
char m1;
int m3£»
};
struct MyStruct {
  ......