Здравствуйте. Помогите, пожалуйста разобраться в следующем вопросе:
Мне нужно в программе на С/С++, с помощью команды в bash, посчитать количество строк в файле, содержащих букву а. Пишу программу.
Но мне нужно записать вывод system("cat 1.txt | grep -c \"a\" "); в переменную внутри самой программы. Что то типа такого int i = system("cat 1.txt | grep -c \"a\" ");. Как можно это организовать?
извращение, но,
переопределить console out потоком строковым, запустить команду, обратно поменять оут ,вывести строчку.
Запустить процЕСС ,у которого аут будет в ваш пайп идти и т.п.
Самое оптимальное будет - добавить в команду, передаваемую в system(), перенаправление вывода в файл, а потом этот файл прочитать через fopen(). После всего удалить файл через remove().