У меня есть небольшой кусочек кода на C, как показано ниже. Я попытался запустить его, используя 2 метода.
1) С Clion с использованием среды Cygwin64
2) В командной строке (в этом случае мне нужно переместить файл cygwin1.dll в ту же папку, где находится исполняемый файл).
Мой код должен вызывать функцию system () для запуска некоторой команды cmd.
Если я попробовал первый метод, код работает без нареканий. Однако при использовании второго метода вызов system (), похоже, ничего не делает.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
FILE *fp=fopen("run.bat", "w+");
fprintf(fp,"dir > result.txt\n");
fclose(fp);
printf("Before calling System\n");
system("cmd.exe /c run.bat");
if(access("result.txt",F_OK)==0){
printf("Run completed!\n");
}
printf("After calling System\n");
}
То, что я получаю за 1, - это строка «Бег завершен!» получил распечатанный нормально .
Однако, с 2, "result.txt" не был создан, и, таким образом, "Выполнение завершено!" строка никогда не появляется .
Теперь мне нужно, чтобы мой исполняемый файл был исполняемым в cmd для любого использования. Так может кто-нибудь помочь?