Linux: 如何由st_mode获取文件的存取权限设置
各位大虾,在linux下我们通常用stat,fstat和lstat这样的函数来获取一个文件的属性信息,这些属性信息保存在struct stat这样一个结构中,这个结构中有一个st_mode字段,它包含了文件的类型,存取权限等设置;我们可以用S_ISREG等宏来判断文件类型,但是如何获取一个文件的owner,group,other相应权限呢?比如说有个文件的权限是
-rwxr-xr-x
如何得到这个属性呢?或者如何依据某些位运算得到相应的属性呢?严重感谢
我很久以前做过,,忘了,想想
楼上的兄弟,快想起来!!!!!!!
搞错了
C/C++ code:
char* p=& mode;//假设mode就是你得到的值
int i=0;
for(;i<3;++i,++p){
unsigned short checker=1<<2;
if(*p & checker)
printf("r");
else
printf("-");
checker=checker>>1;
if(*p & checker)
printf("w");
else
printf("-");
checker=checker>>1;
if(*p & checker)
printf("x");
else
printf("-");
checker=checker>>1;
}
}
搞定,谢谢各位
分享一下
获得st_mode八进制形式的低三位:
char *fileName = "./test";
struct stat fileInfo;
if(stat(fileName,&fileInfo) <0)
exit(errno);
unsigned int mask = 0000777;
unsigned int access = mask&
相关问答:
我们隶属中科院计算所网络重点实验室(http://www.ict.ac.cn/survey/channel/detail443.asp)基础设施课题组.
现因项目和业务拓展的需要,特需要招聘与项目相关的网络应用工程师1-2名。
具体要求如下。有意者 ......
linux下安装了jdk1.4但版本还是1.3.1,又安装完1.5也同样版本还是1.3.1 有去配置.bashrc文件内容如下
set JAVA_HOME=/usr/share/jdk1.5.0_05
export JAVA_HOME
......
if(setsockopt(TUdpRec_sUDP,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int)) == 0)
printf( "set senbufsize = %d\n", nRecvBuf);
if(getsockopt(TUdpRec_sUDP, SOL_SOCKET, SO_RC ......
while(1)
{
time_t now;
time(&now);
struct tm* pt=localtime(&now);
cout < < "当前时间" < < pt->t ......
各位大虾,我正在学习Linux,可是Linux图形界面和命令行之间切换遇到困难,在命令行下输入startx,不是进入图形界面
而是出现
请问各位,这是为什么? 而且按Ctrl+Alt+F7,也不能命令行进入图形界面。&nbs ......