Мне нужно знать, как использовать popen для вызова программы b c, а затем, как дать b c уравнение из строки - PullRequest
0 голосов
/ 13 апреля 2020

Я искал основы b c и писал уже несколько часов, и ничто не может однозначно сказать мне, как я могу использовать их вместе в сценарии. Я спрашиваю здесь не потому, что хочу ободрения и уверенности в том, что решение проблемы поможет мне решить ее. Мне нужно знать эти конкретные c вещи , потому что я не могу найти эту информацию нигде , и у меня нет времени, энергии или терпения, чтобы биться головой о стену в течение нескольких часов.

Я пытаюсь написать код, который может получить уравнение в виде строки, и это уравнение будет случайным, поэтому лучший способ решить его - передать его б c. Я также знаю, что он будет в формате строки, который может выполнить b c.

Пока у меня есть это:

{
FILE *eq;
char eqstr[256];
char cmd[256];

eq = popen("bc *", "r");
if(eq == NULL)
{
exit(1);
}

while(fgets(eqstr, sizeof(eqstr), eq) != NULL)
{
strcpy(cmd, "echo '");
strcat(cmd, eqstr);
strcat(cmd, "' | bc");
}
pclose(eq);
return 0;
}

Мне нужно, чтобы он не печатал результат в терминале, но для возврата результата к коду для сравнения с правильным ответом. Инструкции и методика теста очень неопределенны , поэтому я понятия не имею, как проверить, что ответ правильный. Это небольшая часть гораздо большего кода, который вызывает у меня столько горя.

Если вы не можете показать мне пример кода, который решает мою проблему, по крайней мере, порекомендуйте сайт, на который я могу посмотреть, который мог бы есть ответы.

...