Я читаю файл построчно и надеюсь выполнить эти строки, используя execvp
. Однако, когда я использую следующие коды, он ничего не распечатывает. (Коды успешно компилируются и запускаются, но на терминале нет вывода.) Как я могу напечатать вывод execvp
на терминале?
//open file and read line by line
FILE * fp;
char * line = NULL;
size_t len = 0;
ssize_t read;
//open file (read only)
fp = fopen(cd, "r");
//exit if fail to open file
if (fp == NULL)
{
exit(EXIT_FAILURE);
}
//read line by line
while ((read = getline(&line, &len, fp)) != -1)
{
//execute the line
char * cmd[] = {line, NULL};
execvp(cmd[0], cmd);
}