Мне нужно написать программу c++
, которая «подсчитывает количество строк, слов и количество байтов в текстовом файле», и все это должно быть в новой строке.
Мне нужно использовать команду wc в моей программе на С++. Мне удалось получить количество строк:
char *envp[] = {NULL};
char *command[] = {"wc", "-l", filename.c_str(), NULL};
execve("/usr/bin/wc", command, envp);
После приведенных выше утверждений у меня есть одно, которое заменяет «-l» на «-w» и так далее. Но моя программа заканчивается сразу после первого оператора execve()
.
Как заставить все мои операторы выполняться даже после оператора execve()
?
NB: Это будет мой первый запуск системных команд с помощью программы на C++.
Заранее спасибо.
char *command[] = {"wc", "-l", filename.c_str(), NULL};
не является допустимой инициализацией, wc может бытьchar const *
, но неchar *
- person user7860670   schedule 11.08.2018man
страницы. Прочтите также Операционные системы: три простых шага для хороший обзор про операционки. - person Basile Starynkevitch   schedule 11.08.2018