Cómo llamar comandos en la terminal del sistema Linux en programación en lenguaje C
Según los requisitos de llamada, se puede dividir en dos tipos:
Primero, solo ejecuta el comando del sistema y no necesita imprimir el resultado del comando.
En este caso se puede utilizar la función del sistema. El formato es
system(cmd);
donde cmd es una cadena de tipo char*, que contiene el comando que se ejecutará, y el resultado de la ejecución del comando se enviará a la salida estándar.
Por ejemplo, system("mkdir?test");
Esta ejecución creará la carpeta de prueba en la carpeta actual.
2. Impresión que requiere ejecución de comando.
Aunque también puedes usar el sistema y redirigir al archivo, luego abrir el archivo para leerlo y finalmente eliminarlo. Pero esto es más engorroso y un mejor enfoque es utilizar popen.
ARCHIVO *fp = popen(cmd);
Ejecute el comando en cmd y luego lea el resultado del comando en el modo de operación de archivo C. Por ejemplo: if((fp=popen("pwd", "r"))==NULL)// Ejecute el comando del sistema pwd para obtener el directorio actual.
{
printf("La ejecución falló\n"); //fp es NULL, lo que indica que la ejecución del comando falló. ?
}
else
{
char?s[100];
mientras(fgets( s,?100,?fp))//Obtener el contenido del archivo.
printf("s",?s); //Enviar el resultado.
pclose(fp); //Cerrar.
}