access函数c语言
A. c语言打开文件前,如何判断该文件是否已经被打开
用_access函数判断,再次打开时的情况要看你第一次的打开方式了,如果上次用的是非独占打开,那没问题,如果是独占打开,会打开失败
Example
/* ACCESS.C: This example uses _access to check the
* file named "ACCESS.C" to see if it exists and if
* writing is allowed.
*/
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
/* Check for existence */
if( (_access( "ACCESS.C", 0 )) != -1 )
{
printf( "File ACCESS.C exists\n" );
/* Check for write permission */
if( (_access( "ACCESS.C", 2 )) != -1 )
printf( "File ACCESS.C has write permission\n" );
}
}
B. Access数据库的类型是
Access数据库类型是关系型数据库。
数据库的类型:
1、数据库按照数据的存储位置可分为:集中式和分布式;
2、按照所采用的数据模型分为:层次型、网状和关系型。
(2)access函数c语言扩展阅读:
access函数程序范例(C语言中)
/*intaccess(constchar*pathname,intmode);
此函数用于检测某个指定路径的文件(第一个参数pathname),是否符合第二个参数选项(F_OK(是否是存在的文件),R_OK(是否可读),W_OK(是否可以写入),X_OK(是否可以运行);当参数1满足参数2条件时候返回0,不满足返回-1;(此处刚刚好和字符串比对返回值类似)*/
//参考代码如下:
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
char*myboolean(intp);
intmain(intargc,char**argv)
{
inta,b,c,d;
a=access(argv[1],F_OK);
b=access(argv[1],R_OK);
c=access(argv[1],W_OK);
d=access(argv[1],X_OK);
printf("存在?%s,可读?%s,可写?%s,可运行?%s ",myboolean(a),myboolean(b),myboolean(c),myboolean(d));
exit(0);
}
char*myboolean(intp)/*此函数为了方便结果而定义的布尔运算*/
{
char*f=NULL;
if(p<0)
returnf="否";
if(p==0)
returnf="是";
}
/***********************************************************************************************/
网络-access函数
C. C语言连接Access数据库如何实现标准的c语言
1、C/C++与数据库交互,像 mssql/ mysql / oracle 等,一般都有成熟的第三方库,这些库里面无非就是封装了与数据库通讯的方式和通讯协议搜一下要用的数据库相关的 API 文档,会说得很清楚任何文件都是二进制数据,关键是数据存储的组织方式通用扩展名的文件,像gif/doc/jpg/wav,格式都是固定的。
2、举个例子,连接SQL:
//打开数据库
strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=%s;JetOLEDB:DatabasePassword=%s"),m_strUnEntryptMdbFilePath,m_strMDBPassword);
//创建连接
HRESULThr=m_pConnection.CreateInstance(_uuidof(Connection));
_ConnectionPtrm_pConnection->Open(m_strDBClass,_T(""),_T(""),adConnectUnspecified);
//声明表单指针
_RecordsetPtrpBandRecordset;
pBandRecordset.CreateInstance(__uuidof(Recordset));
//执行语句
CStringstrSQL(L"SELECT*FROM[Band]");
m_pConnection->Execute((LPCTSTR)strSQL,NULL,0);
//提取某一项例如BandInfo
intiBandInfo=wcscmp(colum,L"BandInfo");
while(!recordsetPtr->adoEOF)
{
var=recordsetPtr->GetCollect(colum);
if(var.vt!=VT_NULL)
strName=(LPCSTR)_bstr_t(var);
recordsetPtr->MoveNext();
}
D. C语言如何清空一个文件的例子
#include<stdio.h>
intmain(intargc,char*argv[])
{
//w+代表打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件
//如果这个文件是只写文件那就需要用w
//如果这个文件不存在就不能创建的话需要用access函数先判断该文件是否存在
FILE*pf=fopen("test.txt","w+");
if(pf)
{
printf("文件已被清空 ");
fclose(pf);
}
return0;
}