c语言问题一个。

在某本书上看到的一段代码,运行结果是输入access.c是答案是“Fileaccess.chaswritepermission.Fileaccess.chasreadpe... 在某本书上看到的一段代码,运行结果是输入access.c是答案是
“File access.c has write permission.
File access.c has read permission.
File access.c has write and read permission. ”
但是我的总是File access.c does not exist. 为什么?
编译环境:vc++6.0 sp6,xp。
#include<io.h>
#include<stdio.h>
#include<conio.h>
void main()
{
char pathname[80];
printf("please enter a file name:");
gets(pathname);
if(access(pathname,0)!=0)
printf("File %s does not exist. \n",pathname);
if(access(pathname,2)==0)
printf("File %s has write permission. \n",pathname);
if(access(pathname,4)==0)
printf("File %s has read permission. \n",pathname);
if(access(pathname,6)==0)
printf("File %s has read and write permission. \n",pathname);
printf("\nPress any key ");
getch();
}
展开
 我来答
eadwin
2010-12-24 · 超过15用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:41.4万
展开全部
access 的使用方法:
int _access( const char *path, int mode );
path :File or directory path. 文件或目录的路径
mode :Permission setting 权限设定,其中:
00 - Existence only 文件是否存在
02 - Write permission 文件是否可写
04 - Read permission 文件是否可读
06 - Read and write permission 文件是否即能读又能写

你看你写的程序:
if(access(pathname,0)!=0) printf("File %s does not exist. \n",pathname); // 检测是否存在
if(access(pathname,2)==0) printf("File %s has write permission. \n",pathname); // 检测文件是否可读
if(access(pathname,4)==0) printf("File %s has read permission. \n",pathname); // 检测文件是否可写
if(access(pathname,6)==0) printf("File %s has read and write permission. \n",pathname); // 检测文件是否又能读又能写

结果很明显了,因为你没有程序执行目录下没有 access.c 文件,那么提示当然是:printf("File %s does not exist. \n",pathname);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式