gpt4 book ai didi

c - 从 MATLAB 调用的 C .exe 文件中存在的 fprintf() 不起作用

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

我正在使用 unix() 函数在 MATLAB 中调用使用 Cygwin 编译的 C 可执行文件。这工作正常,我可以在 MATLAB 命令窗口中看到所需的输出。但是,可执行文件中有一个 fprintf() 应该创建并写入一个不运行的文本文件 - 没有创建这样的文件。当我直接通过 Cygwin 运行可执行文件时,文本文件创建得很好。

我想知道是否需要授予对 MATLAB 文件/可执行文件的权限才能启用此功能?我该怎么做?

最佳答案

您使用什么路径来创建文件?它可能已经创建 - 只是不在您预期的位置。

如果是相对路径,可以使用getcwd(2)在你的 C 程序中获取并打印工作目录(或者例如 getpid(2) 获取 PID,然后执行 ls -d /proc/<pid>/cwd ,这至少可以在 Linux 上运行)。有了工作目录后,检查文件是否在其中。

如果看起来文件确实没有被创建,我的下一步将是向函数添加一些错误检查并打印错误消息以试图弄清楚发生了什么。 strerror(3)perror(3)可能会派上用场。

关于c - 从 MATLAB 调用的 C .exe 文件中存在的 fprintf() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28830161/

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