Из документов на system()
, которые вы связали:
ENOENT
Интерпретатор команд не найден.
Так что проблема не в том, что он не может найти tail.exe, проблема в том, что он не может найти интерпретатор команд. Это говорит о том, что что-то большее идет не так. Нам понадобится больше информации для диагностики реальной проблемы. Также с той же страницы:
Системная функция передает команду
командный интерпретатор, который
выполняет строку как
команда операционной системы. система
относится к COMSPEC и PATH
переменные среды, которые определяют местонахождение
файл интерпретатора команд (файл
с именем CMD.EXE в Windows NT и
потом). Если команда NULL,
Функция просто проверяет,
интерпретатор команд существует.
Это предполагает несколько путей исследования: что возвращает system(NULL)
? И каковы значения переменных среды COMSPEC
и PATH
при запуске вашей программы?