VS2005中,access对只读目录的属性判断不准确
只读目录,
C:\>attrib +A +S +H +R testdir
C:\>attrib testdir
A SHR C:\testdir
(1)VC6.0的执行结果:
***********test stat***********************
file [c:\testdir] exists!
file [c:\testdir] is directory!
file [c:\testdir] can be read!
file [c:\testdir] can not be writed!
***********test access***********************
file [c:\testdir] exists!
file [c:\testdir] can not be writed!
file [c:\testdir] can be read!
(2)VS2005的执行结果
***********test stat***********************
file [c:\testdir] exists!
file [c:\testdir] is directory!
file [c:\testdir] can be read!
file [c:\testdir] can not be writed!
***********test access***********************
file [c:\testdir] exists!
file [c:\testdir] can be writed!
file [c:\testdir] can be read!
结论:在VS2005中,使用access判断的只读目录却有【写入】的属性。
有什么高招,欢迎解答。
建议,在VS2005中对文件、目录进行权限校验时,最好不要用access。
#include <stdio.h>
#include <windows.h>
#include <stdio.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
int main(int argc ,char *argv[])
{
struct stat buf;
int ret = 0;
int i=0;
char *file = "c:\\testdir";
printf("***********test stat***********************\n");
ret = stat(file, &buf );
if(ret != 0)
{
printf("stat [%s] fail, errno=%d\n", file, errno);
return -1;
}
else
printf("file [%s] exists!\n", file);
if((buf.st_mode&S_IFDIR)==0)
printf("file [%s] is not directory!\n", file);
else
printf("file [%s] is directory!\n", file);
if((buf.st_mode&S_IREAD)!=0)
printf("file [%s] can be read!\n", file);
else
printf("file [%s] can not be read!\n", file);
if((buf.st_mode&S_IWRITE)!=0)
printf("file [%s] can be writed!\n", file);
else
printf("file [%s
相关文档:
今天谈两个ASP运行时可能出现的与IIS有关的错误
-------------------------------------------------------------------
错误类型一:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
错误类型二:
Microsoft OLE DB Provider ......
一、创建一张空表:
Sql="Create TABLE [表名]"
二、创建一张有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段类型:
2 : "SmallInt", // 整型
3 : "Int", ......
sqlserver:update Table_A set Table_A.col1 = (select Table_B.col1 from Table_B where Table_A.col2 = Table_B.col2)
Access: UPDATE Table_ A, Table_B SET Table_ A.字段2 = Table_ B.字段2
WHERE Table_ A.编号=Table_ A.编号;
自己记下,提醒自己 ......
*
* 功能说明:备份和恢复SQL Server数据库
* 作者: 刘功勋;
* 版本:V0.1(C#2.0);时间:2007-1-1
* 当使用SQL Server时,请引用 COM组件中的,SQLDMO.dll组件
* 当使用Access中,请浏览添加引用以下两个dll
* 引用C:/Progra ......