C/C++ DIR±éÀúº¯Êý
#include <list.h>
#include <dirent.h>
#include <iostream.h>
#include <sys/stat.h>
#include <sys/types.h>
/*****************************************************************
*º¯Êý¹¦ÄÜ: Ä¿_¼_±é_Àú.
*·µ»ØÖµ: ³É¹¦·µ»Ø0,ʧ°Ü·µ»Ø·Ç0.
*²ÎÊý path : ¿ªÊ¼±éÀúµÄ·¾¶(×îºÃ²»ÒªÊ¹ÓÃÏà¶Ô·¾¶)
* l : ±£´æÕÒµ½Â·¾¶µÄstd:list¶ÔÏó
* field: Òª²éÕÒµÄĿ¼Ãû³Æ.
* Èç: list("/home/wyq/",list,"tmp");
* Ôò¿ÉÒÔÕÒµ½ /home/wyq/*/tmp/
* Èç: list("/home/wyq/",list,"tmp/template");
* Ôò¿ÉÒÔÕÒµ½ /home/wyq/*/tmp/template
*
*****************************************************************/
int listDir(const char *path,list<string> &l,char * field = NULL)
{
using namespace std;
string Path(path);
DIR *pDir ;
struct dirent *ent ;
char childpath[10240];
string childStr;
if ( NULL == path )
{
return -1;
}
if ( '/' != Path[Path.length()-1] )
{
Path.append(1,'/');
}
if ( '/' != Path[0] )
{
Path.insert(0,"/");
}
if ( NULL == ( pDir=opendir(Path.c_str()) ) )
{
return -1;
Ïà¹ØÎĵµ£º
C/C++ÄÚ´æÓëÔËÐÐʱÉîÈëÑо¿ [×÷ÕßJean.Love]
-----------------------------------------------------------------------------------
(Ò»)ÕûÊý·ûºÅµÄÏÝÚå
(¶þ)¸¡µãÊýµÄ±¾ÖÊ
(Èý)¶ÑÕ»µÄÄÚ´æ¹ÜÀí½á¹¹
(ËÄ)·ûºÅ½âÎö
(Îå)¶ÔÆëºÍ×ÜÏß´íÎó
(Áù)º¯ÊýÖ¸Õë
(Æß)Ð麯ÊýµÄÊ ......
ʲôÊÇsocket
³¤Á¬½ÓÓë¶ÌÁ¬½Ó
Ëùν³¤Á¬½Ó£¬Ö¸ÔÚÒ»¸öTCPÁ¬½ÓÉÏ¿ÉÒÔÁ¬Ðø·¢ËͶà¸öÊý¾Ý°ü£¬ÔÚTCPÁ¬½Ó±£³ÖÆÚ¼ä£¬Èç¹ûûÓÐÊý¾Ý°ü·¢ËÍ£¬ÐèҪ˫·½·¢¼ì²â°üÒÔά³Ö´ËÁ¬½Ó£¬Ò»°ãÐèÒª×Ô¼º×öÔÚÏßά³Ö¡£
¶ÌÁ¬½ÓÊÇָͨÐÅË«·½ÓÐÊý¾Ý½»»¥Ê±£¬¾Í½¨Á¢Ò»¸öTCPÁ¬½Ó£¬Êý¾Ý·¢ËÍÍê³Éºó£¬Ôò¶Ï¿ª´ËTCPÁ¬½Ó£¬Ò»°ãÒøÐж¼Ê¹ÓöÌÁ¬½Ó¡£
±ÈÈçht ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
¼Ù¶¨x = 9999¡£ ´ð°¸£º8
˼·£º½«xת»¯Îª2½øÖÆ£¬¿´º¬ÓеÄ1µÄ¸öÊý¡£
2. ʲôÊÇ“ÒýÓÔ£¿ÉêÃ÷ºÍʹÓÓÒýÓÔҪעÒâÄÄЩÎÊÌ⣿
´ð£ºÒýÓþÍÊÇij¸öÄ¿±ê±äÁ¿µÄ&ldquo ......