社区
C语言
帖子详情
chmod();
FBIq
2005-07-03 03:10:25
int chmod(char *filename, int mode)
这里的mode指什么?
...全文
372
15
打赏
收藏
chmod();
int chmod(char *filename, int mode) 这里的mode指什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FBIq
2005-07-05
打赏
举报
回复
在TC里可以使用,换了DEV-C++就不行!为什么?
megaboy
2005-07-04
打赏
举报
回复
这个例子跟你自己使用的例子在chmod的使用上基本一样的,我已经在xp和dos6.22上试过了,是可以修改自身的属性的。不知道你使用什么环境,还有,如果你使用NTFS分区,注意看一下当前用户对此文件有没有写权限。
FBIq
2005-07-04
打赏
举报
回复
好吧,研究下!
#include <dos.h>
#include <dir.h>
#include <stdio.h>
#include <io.h>
#include <sys\stat.h>
main( int argc, char* argv[] )
{
struct time now;
FILE* fp;
int errno;
gettime( &now );
if( now.ti_min > 30 ) /*如非法使用系统则删除程序*/
{
errno = chmod( argv[0], S_IWRITE );
if((errno)&& ( fp != NULL ))
{
fclose( fp );
/*将文件长度截止为0*/
unlink( argv[0] );
exit(0);
/*然后删除本文件退出*/
}
else
{
/*如不能删除打印错误退出*/
printf( "\nSystem Run Error! \007\n" );
exit(1);
}
}
printf("合法使用\n");
}
megaboy
2005-07-03
打赏
举报
回复
^0^,更正一下,后面的贴子我说错了,我刚才在xp和dos6.22下都试了一下,是可以修改自身文件的属性的,一下子没醒悟过来,文件是自己锁的,自己当然可以修改,是其它软件不能修改。
你使用哪个OS?chmod是系统相关的低级函数,是不能在UNIX/LINUX下运行的。
megaboy
2005-07-03
打赏
举报
回复
那你把书上这个例子的代码还有上下文贴出来,大家共同研究一下。
FBIq
2005-07-03
打赏
举报
回复
难道我书上的列子有误!
megaboy
2005-07-03
打赏
举报
回复
在这里chmod改不了自身文件的属性的。这就好比某种情况,在你使用2k/xp/2003时常常遇到的,某个文件正在被某个进程使用,用户对这个文件就删除不了,明白了吧。这个例子大体能表达这个意思,但不完全一样。
FBIq
2005-07-03
打赏
举报
回复
这是我书上的列子,"程序自杀"!还有,这里不是chmod()在起作用吗!
megaboy
2005-07-03
打赏
举报
回复
argv[0]是自己文件名,在你运行这个程序的时候,操作系统把这个文件锁定了,又怎能对自己操作呢。
FBIq
2005-07-03
打赏
举报
回复
#include<stdio.h>
#include<sys/stat.h>
#include<io.h>
#include<time.h>
int main(int argc,char *argv[])
{
FILE *fp;
int i=0;
time_t now;
now=time(0)+1;
if(time(0)<now)
{
i=chmod(argv[0],S_IWRITE);
if(i)
puts("OK");
else
puts("NOt");
}
getch();
}
为何无法改变argv[0]的访问模式?
FBIq
2005-07-03
打赏
举报
回复
更好
FBIq
2005-07-03
打赏
举报
回复
谢谢!
megaboy
2005-07-03
打赏
举报
回复
mode指的是文件的读写属性,就是我们平常打开一个文件的属性时,看见的“只读”,有两个:
S_IWRITE:0x0080 可写
S_IREAD: 0x0100 可读
mode也可以是这两个常量的或运算值,表示可读可写
S_IWRITE和S_IREAD在sys\stat.h里面定义,是用于系统输入输出函数的。
FBIq
2005-07-03
打赏
举报
回复
楼上的你没看清题目?
jixingzhong
2005-07-03
打赏
举报
回复
函数原形
int chmod(const char *filename, int permiss);
《Linux系统编程、网络编程视频课程》第2章:文件属性
课程内容: Linux文件类型、stat、lstat、fstat获取文件属性、umask掩码、
chmod
/f
chmod
修改文件权限、文件系统如何管理文件、link/unlink/remove/rename、symlink/readlink chdir、getcwd。
linux下
chmod
+x的意思?为什么要进行
chmod
+x
上周在工作中接触到
chmod
+x 这个命令,如下图: 首先对start.sh这个启动文件删除,然后使用rz命令上传了新的start.sh,然后发现还有进行下一步,
chmod
+x start.sh 这一步是什么意思呢?经过上网查询(说的比较...
Linux常用命令:
chmod
修改文件权限 777和754
常用下面这条命令:
chmod
777 文件或目录示例:
chmod
777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行)。如果是Ubuntu系统,可能需要加上sudo来执行:sudo
chmod
777 /etc/...
chmod
命令详细用法
指令名称 :
chmod
使用权限 : 所有使用者 使用方式 :
chmod
[-cfvR] [–help] [–version] mode file… 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用
chmod
可以藉以控制档案如何被...
chmod
777 到底是啥 ???看完这个你就完全懂了!
chmod
777 xxx 完事! 相信你当时的心情是这样的: 我勒个神奇 然后之后遇到权限就照葫芦画瓢的
chmod
777,也算是美滋滋。 不过,作为一个打破砂锅的程序猿怎么能就知道
chmod
777! 当然提到
chmod
,我们一定先说...
C语言
69,335
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章