我正在编写一个程序,它应该在另一个目录(/files/runme.c)中运行一个文件。如何在C中运行此文件?
我尝试了system()
函数,但这不起作用。
MAIN.c:
#include <stdio.h>
#include <stdlib.h>
int main() {
system("runme.c");
return 0;
}
runme.c:
#include <stdio.h>
int runme() {
printf("hello world");
}
我的预期结果是:
你好世界
我得到:
退出状态-1
我希望它运行runme.c内容中的所有内容。我该怎么做(在Windows和Linux上)?
答案 0 :(得分:1)
要从另一个文件中获取runme()
函数以传递给您的main,您需要创建一个包含runme()
函数原型的头文件,将此头文件包含在main中.c并使用这两个文件进行编译。
main.h:
int runme(void);
main.c
#include <stdio.h>
#include <stdlib.h>
#include "main.h" //main.h needs to be in the same directory as main.c
int main(void) {
runme();
return 0;
}
runme.c
#include <stdio.h>
int runme() {
printf("hello world");
}
最终编译:
gcc main.c {path} /runme.c
答案 1 :(得分:1)
从system()可以运行.exe 据我所知.c。 只需编译要运行的.c文件,并将其与包含main()的文件放在同一文件夹中 例如。 second_program.c->已编译->将生成的.exe文件复制到同一文件夹,然后使用系统(second_program.exe)
或者您必须为头文件和函数原型等创建两个文件second_program.h 和second_program.c作为定义,然后使用include 如果文件与main()不在同一个文件夹中 那么您必须在程序属性中添加second_program的位置 或添加包含“ second_program.h”的文件(如果文件位于同一文件夹中)