0

我开发了一个 Excel dll,其代码如下:

 FILE *outf
 if((outf = fopen("filename.txt","w+"))!=NULL)
 {
   fprintf(outf,"hello");
  } 
 fclose.(outf);

本质上,我试图从 dll 中写入文件,程序正确执行而没有任何错误,但我没有看到任何带有“filename.txt”的文件。它没有被创建,我在 c++ Visual Studio 2010 中开发的 Windows。

4

1 回答 1

0

它在 Excel DLL(或 XLL)所在的目录中创建了文件,因为这是 DLL 上下文的当前工作目录。除非您移动了 DLL,否则这是项目目录下的 Debug 目录。

下面的 Windows API 函数可用于检索 DLL 的完整路径。

DWORD WINAPI GetModuleFileName( HMODULE hModule, LPTSTR  lpFilename, DWORD  nSize  );
于 2016-03-06T02:12:05.543 回答