我开发了一个Excel dll,其代码如下:
FILE *outf
if((outf = fopen("filename.txt","w+"))!=NULL)
{
fprintf(outf,"hello");
}
fclose.(outf);
本质上我试图从dll中写入一个文件,程序正确执行没有任何错误,但我没有看到任何带有“filename.txt”的文件。它没有被创建,我在Windows开发的c ++ visual studio 2010中。
答案 0 :(得分:0)
它在Excel DLL(或XLL)所在的目录中创建了该文件,因为这是DLL上下文的当前工作目录。除非您移动了DLL,否则这是项目目录下的Debug目录。
下面的Windows API函数可用于检索DLL的完整路径。
DWORD WINAPI GetModuleFileName( HMODULE hModule, LPTSTR lpFilename, DWORD nSize );