易截截图软件、单文件、免安装、纯绿色、仅160KB

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和指针 的读书笔记(自己整理)

第2章
环境:翻译环境: 源代码转化成可执行的机器指令。
执行环境:用于实际执行代码。
翻译:源文件-〉目标文件-〉可执行文件(通过链接器将多个目标文件捆绑在一起)
编译过程:预处理器-〉源代码经过解析产生目标代码(这个过程中是绝大多数错误和警告产生的地方)-〉优化器(就是对目标代码进行进一步优化,使效率 ......

更改C:\Documents and Settings路径

      在Windows 2000/XP中,"Documents and Settings"是一个特殊文件夹。用户配置文件、桌面。甚至连密钥信息都保存在这里面。如果硬盘空间不够,想把它们换个地方。但这些东西却很难移动。我们的问题是:如何在保证系统正常运行的情况下,将"Documents and Settings"文件夹移动到另外一个分区? ......

C/C++笔试、面试题目汇总

1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
假定x = 9999。 答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的&ldquo ......

C/C++ 路径为目录判断

#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
/****************************************************
* 函数功能: 判断参数路径是否为(正确的)目录
* 函数返回: 0为表示路径为文件,1为非目录.其他为错误
*    参数: path文件需要判断的目录的路径.
*  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号