进程外COM服务器 - 无法创建文件

我试图在其主线程中从进程外COM服务器运行以下代码,但是没有创建任何文件。 我想知道是否有人能告诉我为什么会这样?
FILE *f = fopen("Log.txt", "w");
fputs("Tony", f);
fputs("n", f);
fclose(f);
    
已邀请:
从权限问题来看,文件实际上已经创建但是你无法找回它的可能性非常大。您没有为该文件提供完整路径名(如
"c:\blah\log.txt"
),这意味着它将在COM客户端应用程序的当前工作目录中创建。保证与COM服务器所在的目录不同。 您需要指定完整路径。在Windows中,它应该是您保证对其进行写访问的目录。使用SHGetFolderPath()获取appdata文件夹的路径。或者为记录留出固定的目录名称(不推荐)。     
我认为最可能的原因是fopen因访问被拒绝错误而失败。你试过单步执行代码吗?诊断此问题的最佳方法是附加调试器并检查errno的值。     

要回复问题请先登录注册