c - C 中的 system() 无限次打印传递的命令而不是执行它 - 错误
问题描述
我对 C 编程并不陌生,但我今天面对的是新的。system() 函数无限次打印传递的命令,而不是执行它。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char type[] = "exe";
char name[] = "FileMaker";
char jar_location[] = "D:\\Fida\\Codeblocks\\Java\\Projects\\FileHandling\\dist";
char jar[] = "FileHandling.jar";
char output_location[] = "D:\\Fida\\CodeBlocks\\java";
char module_location[] = "\"C:\\Program Files\\Java\\jdk-16.0.1\\jmods\"";
char modules[] = "java.base";
char mandatory_cmd[2048];
sprintf(mandatory_cmd, "jpackage -t %s --name %s --input %s --dest %s --main-jar %s --module-path %s --add-modules %s", type, name, jar_location, output_location, jar, module_location, modules);
puts(mandatory_cmd);
system(mandatory_cmd);
}
一些信息可能会对您有所帮助:
- 输入的命令不是在 windows 中预建的。它来自 Java Development Kit 16。
- 我确实编辑了操作系统的环境变量以将路径添加到我的 java。
还要注意的一件事是,我曾经评论过(//)system() 函数以使用 puts() 打印命令;然后我将打印的命令复制并自己粘贴到cmd中,它工作正常。那么为什么它在 system() 函数中不起作用呢?
任何帮助表示赞赏。
问候,
菲达
解决方案
推荐阅读
- javascript - chart.js 将 y 标签固定为 8 位小数
- android - 如何在水平直方图栏上制作类似 UI 的指针?
- python - 导入错误 - 无法从 y 导入名称 x
- matlab - 在 matlab 中绘制具有顶点 A(6,-1,2)、B(-2,3,-4)、C(-3,1,5) 的笛卡尔坐标系中的 3-D 三角形
- python - 添加可识别的非字段错误
- svn - “svn log”显示合并源,例如颠覆 jetbrains 集成?
- javascript - 为什么我的地图方法返回未定义?
- c++ - 关于c++语法的一个问题 [static const auto compare = [](const std::string& now, const std::string& next) noexcept ->bool ]
- php - 将文件加载到服务器时确认覆盖
- c++ - 使用 STL 对部分向量进行排序