gpt4 book ai didi

c# - 如何使用 c dll 从 c# 项目中读取文件?

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:24 25 4
gpt4 key购买 nike

一直在寻找这个,但似乎无法弄清楚。

因此,我正在使用 C# 项目在 Visual Studio 中制作 Web 应用程序。我的解决方案中还有另一个项目,它是一个编译为 dll 的 c 项目。我已经到了可以在两者之间传递信息的地步,而且它工作正常。

在我的应用程序中,用户上传一个文件并将其保存到文件系统的“包含”文件夹中。 dll(由我从 sdk 获得的 c 代码编译)应该读入该文件并对其进行解码。当我将它编译为 exe 并向其发送文件路径时,dll 项目工作正常。

我的问题是,如何让 DLL(现在位于 bin 文件夹中)跳回目录并获取此文件?我试过将文件路径硬编码到 C 代码中,但它不起作用。

FILE *fp;
bool isWorking = false
if(fp = fopen("../Include/testFile.fit", "r"))
isWorking = true

我也试过只从 DLL 写入文本文件,希望找到它弹出的位置并使用该目录作为引用,但在这种情况下,c 代码根本不会创建和保存文件。

最佳答案

DLL 文件在文件系统中的位置并不重要。重要的部分是生成的二进制文件的运行位置以及它所看到的当前工作目录。

如果您的 C# 程序使用 DLL,则 DLL 中的代码将在与 C# 程序相同的当前工作目录下运行(除非您在 DLL 中的代码中更改它)。

因此,您应该尝试以与路径相同的方式加载您的文件,就好像您要从 C# 程序中加载它一样。

关于c# - 如何使用 c dll 从 c# 项目中读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12419467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com