0

以下のコードを持つExceldllを開発しました。

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

基本的に、dll内からファイルに書き込もうとしています。プログラムはエラーなしで正しく実行されますが、「filename.txt」のファイルが表示されません。作成されていません。私はWindowsVisualStudio2010で開発しています。

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 に答える