C/C++ ÅжÏ·¾¶ÎªÎļþ
/***************************************************
* º¯Êý˵Ã÷: Åжϵ±Ç°path²ÎÊýÊÇ·ñΪһ¸ö¿É¶ÁµÄÎļþ
* º¯Êý·µ»Ø: 0 - Îļþ¿Ì¶È 1 - ȨÏ޾ܾø -1 -º¯Êý´íÎó
* ²Î Êý : path Îļþ·¾¶.
***************************************************/
int isReadFile(const char *path)
{
struct stat info;
int euid,egid;
if ( 0!= stat(path,&info) )
{
return -1;
}
//if it is a file
if( S_IFREG != (info.st_mode & S_IFMT ) )
{
return 1;
}
euid=geteuid();//returns the real user ID of the
current process
egid=getegid();//returns the effective user ID of the
current process
//if effective user is root
if(euid==0)
{
if(info.st_mode & S_IRUSR || info.st_mode &
S_IRGRP ||info.st_mode & S_IROTH)
{
return 0;
}
Ïà¹ØÎĵµ£º
C/C++ÄÚ´æÓëÔËÐÐʱÉîÈëÑо¿ [×÷ÕßJean.Love]
-----------------------------------------------------------------------------------
(Ò»)ÕûÊý·ûºÅµÄÏÝÚå
(¶þ)¸¡µãÊýµÄ±¾ÖÊ
(Èý)¶ÑÕ»µÄÄÚ´æ¹ÜÀí½á¹¹
(ËÄ)·ûºÅ½âÎö
(Îå)¶ÔÆëºÍ×ÜÏß´íÎó
(Áù)º¯ÊýÖ¸Õë
(Æß)Ð麯ÊýµÄÊ ......
µÚ2ÕÂ
»·¾³£º·Òë»·¾³: Ô´´úÂëת»¯³É¿ÉÖ´ÐеĻúÆ÷Ö¸Áî¡£
Ö´Ðл·¾³£ºÓÃÓÚʵ¼ÊÖ´ÐдúÂë¡£
·Ò룺ԴÎļþ-¡µÄ¿±êÎļþ-¡µ¿ÉÖ´ÐÐÎļþ£¨Í¨¹ýÁ´½ÓÆ÷½«¶à¸öÄ¿±êÎļþÀ¦°óÔÚÒ»Æð£©
±àÒë¹ý³Ì£ºÔ¤´¦ÀíÆ÷-¡µÔ´´úÂë¾¹ý½âÎö²úÉúÄ¿±ê´úÂ루Õâ¸ö¹ý³ÌÖÐÊǾø´ó¶àÊý´íÎóºÍ¾¯¸æ²úÉúµÄµØ·½£©-¡µÓÅ»¯Æ÷£¨¾ÍÊǶÔÄ¿±ê´úÂë½øÐнøÒ»²½ÓÅ»¯£¬Ê¹Ð§ÂÊ ......
¸ßÖÊÁ¿C++/C±à³ÌÖ¸ÄÏ
Îļþ״̬
[ ] ²Ý¸åÎļþ
[√] ÕýʽÎļþ
[ ] ¸ü¸ÄÕýʽÎļþ Îļþ±êʶ£º
µ±Ç°°æ±¾£º 1.0
×÷ Õߣº ÁÖÈñ ²©Ê¿
Íê³ÉÈÕÆÚ£º 2001Äê7ÔÂ24ÈÕ
°æ ±¾ Àú Ê·
°æ±¾/״̬ ×÷Õß ²ÎÓëÕß ÆðÖ¹ÈÕÆÚ ±¸×¢
V ......
CRT (C run-time library)
Ò» ²úÉú
ÔËÐÐʱ¿âÊdzÌÐòÔÚÔËÐÐʱËùÐèÒªµÄ¿âÎļþ£¬Í¨³£ÒÔLIB»òDLLÐÎʽÌṩ¡£
CÔËÐÐʱ¿â¾ÍÊÇC run-time library£¬µ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬ÊÇC¶ø·ÇC++ÓïÑÔÊÀ½çµÄ¸ÅÄC³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý¡£
C ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´ËµºÜС£¨²»¶àµÄ¹Ø¼ü×Ö£¬³ÌÐòÁ÷³Ì¿ØÖÆ£ ......
#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
/****************************************************
* º¯Êý¹¦ÄÜ: ÅжϲÎÊý·¾¶ÊÇ·ñΪ(ÕýÈ·µÄ)Ŀ¼
* º¯Êý·µ»Ø: 0Ϊ±íʾ·¾¶ÎªÎļþ,1Ϊ·ÇĿ¼.ÆäËûΪ´íÎó
* ²ÎÊý: pathÎļþÐèÒªÅжϵÄĿ¼µÄ·¾¶.
*  ......