Estoy trabajando en un proyecto donde tengo que ejecutar un comando e imprimir la salida. Uso popen, y sirve, pero la salida no muestra los saltos de linea, si no, que muestra todo como uno solo renglón.
Mi código:
#include <iostream>
#include <string.h>
#include <stdio.h>
int main () {
FILE *output;
string sys;
char line[200];
output = popen("ls -l", "r");
while ( !feof(output) ){
fgets(line, 180, output);
cout << line;
}
return 0;
}
la salida que me da es algo como esto:
-rw-r--r-- 1 root www-data 0 Sep 6 10:40 WebSS_06_Sep_10:40:19.in -rw-r--r-- 1 root www-data 0 Sep 6 10:40 WebSS_06_Sep_10:40:31.in -rw-r--r-- 1 root www-data 0 Sep 6 10:40 WebSS_06_Sep_10:40:32.in
pero quisiera que se viera como lo muestra la consola normalmente
-rw-r--r-- 1 root www-data 0 Sep 6 10:40 WebSS_06_Sep_10:40:19.in
-rw-r--r-- 1 root www-data 0 Sep 6 10:40 WebSS_06_Sep_10:40:31.in
-rw-r--r-- 1 root www-data 0 Sep 6 10:40 WebSS_06_Sep_10:40:32.in
Estaba pensando, si tal vez separar la cadena cada espacio y que me imprima 8 de esas subcadenas en cada linea o no se si exista una forma mas fácil de hacerlo.