о, если вы хотите дать команду popen с помощью вашего c-файла, попробуйте этот способ
fputc ( 's', fp );
fputc ( '\n', fp);
здесь, если вы хотите задать s, напишите 's'
fp - указатель файла popen()
отлично работает
в вашем коде:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
void main() {
char *input = "obex_test -b";
FILE *fp = NULL;
char path[512];
fp = popen(input, "w");
if (fp == NULL)
{
printf("\nFailed command\n");
return;
}
else
{
printf("\nSuccesss command\n");
}
//giving s option to menu
fputc ( 's', fp );
fputc ( '\n', fp);
printf("starting while : %d", fp);
while (fgets(path, sizeof(path) - 1, fp) != NULL) {
printf("\nOutput ::: %s \n", path);
}
printf("\nEnd\n");
/* close */
pclose(fp);
}
Редактировать: преодолеть за бесконечный цикл
каждый раз давать два символа новой строки после предоставления любой опции
как
//giving s option to menu
fputc ( 's', fp );
fputc ( '\n', fp);
fputc ( '\n', fp);