Red de conocimiento informático - Material del sitio web - Cómo llamar comandos en la terminal del sistema Linux en programación en lenguaje C

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.

}