在VS2008中建立了一个网站,想调用一个dll,这个dll的功能是生成一个文本文档。代码如下:
extern "C" __declspec(dllexport) void create ()
{
FILE *fp;
int dat[1][100];
int h;
for (int i=0;i<100;i++)
{
dat[0][i]=i;
}
remove("data.dat");
fp=fopen("data.dat","w");
//num=eneend-enestart+1;
for (h=0;h<100;h++)
{
fprintf(fp,"%16d\n",dat[0][h]);
}
/* }*/
fclose(fp);
}
使用以下语句引用了这个dll:
[DllImport(@"dll路径\ddf.dll ", EntryPoint = "create")]
public static extern void create();
然后启动调试,一个button点击过后,create()执行成功,没有异常,但没有data.dat文本生成。
注:为了防止路径引用的错误,我又在这个dll中写了另外一个函数,简单地将一个数字加了1,这个功能可以成功执行。说明路径引用没有问题,为什么没有文本生成呢??
谢谢
------解决方案--------------------------------------------------------
你的意思是该DLL调用时成功的,只是文件没有生成?
你确信这个DLL里用的路径是相对路径,而且跟你的文件目录一致?
并且该目录权限放开了,并且该DLL拥有必须得权限?