Sistema Linux Programación del comando cp para lograr

Sistema Linux Programación del comando cp para lograr

comando cp se utiliza con frecuencia comandos, copiar archivos, y la idea de su proceso de preparación es muy intuitiva. El archivo de datos se lee, cree un nuevo archivo, y luego escribir datos en él. Esta es una manera muy convencional de pensar. Las principales cuestiones que pensar en la preparación de un programa integral es a la entrada de cada caso debe ser considerado plenamente.

Abrir el archivo, cree un archivo, leer los datos del archivo, datos de escritura, cierre el archivo sigue siendo función del núcleo común condición abierta (), creat (), read (), write (), close () para completar.

Antes de escribir el código que a órdenes sencillas.

Debido a que más de comandos de error, por ejemplo, se puede producir de acuerdo con el comando cp: eliminación de los archivos fuente, archivos de objeto, los datos del archivo se pueden leer sin similar, de manera que el paquete de información que debe darse una función.

 36 void opps(char *s1,char *s2)
 37 {
 38         fprintf(stderr,"Error:%s",s1);
 39         perror(s2);
 40         exit(1);
 41 }

Otras operaciones de archivo están más familiarizados con, pero cuando fprintf utilizado de comprobar su definición todavía no puede entender esto también, después de su propio experimento poco lo que puede entenderlo como la tercera salida de formato de salida en el segundo término el primer elemento en el archivo hasta su desembocadura al error estándar. El pError más familiar, la causa del error en las funciones de salida al flujo de error estándar.

Luego, busquen en las principales funciones:

 10 int main(int ac,char *av[])
 11 {
 12         int in_fd,out_fd,n_chars;
 13         char buf[BUFFERSIZE];
 14 
 15         if(ac!=3)
 16         {
 17                 fprintf(stderr,"usage:%s source destination\n",*av);
 18                 exit(1);
 19         }
 20 
 21         if((in_fd=open(av[1],O_RDONLY)) ==-1)
 22                 opps("Cannot open",av[1]);
 23 
 24         if((out_fd=creat(av[2],COPYMODE)) ==-1)
 25                 opps("Cannot creat",av[2]);
 26         while((n_chars=read(in_fd,buf,BUFFERSIZE))>0)
 27                 if(write(out_fd,buf,n_chars) != n_chars)
 28                         opps("Write error to",av[2]);
 29         if(n_chars == -1)
 30                 opps("Read error from",av[1]);
 31         if(close(in_fd) == -1||close(out_fd) ==-1)
 32                 opps("Error closing files","");
 33 
 34 }

Función para determinar el programa en sí se entiende mejor, pero muy inteligente es el uso de los principales parámetros de la función, para escribir sus propias palabras introducirá otros parámetros de juicio bandera variables del problema antes de que las cuestiones relacionadas con la función principal exploraron este principio ya no es el detalle dice , se puede ver en su uso.

Para determinar si el formato de comando correcto o no para determinar si (ac! = 3), en sí ya se está ejecutando cuando ac 1, mientras que usando el comando cp requiere que el archivo de origen y el archivo de destino, por lo que cuando el valor del curso de corriente alterna es 3, por lo que si no lo hace 3 ¿cómo hacer? Salidas de uso: cp origen destino, el puntero de vuelta siempre apunta a la primera orden se almacena en la matriz de parámetros cp, donde es un uso inteligente de los parámetros principales en función del juicio, para juzgar la necesidad de introducir otras variables.

Huelga decir que esta última, la segunda matriz se almacena en el archivo de fuente, destino de archivo tercio de almacenamiento, en este último determinación puede ser empleada av [i] en lugar de los archivos de origen y archivos de objeto. Se puede decir con los principales parámetros de la función alcanzados una vez por todas.

Después de compilar y ejecutar el código que puede utilizar para escribir su propio comando cp para copiar archivos ligeramente.

Por supuesto, este programa también tiene un lugar que vale la pena aprender, define un buffersize para almacenar temporalmente la salida de datos, que las disposiciones de la zona de amortiguamiento, que es ampliamente utilizado no sólo en la programación habitual, el núcleo es también un mecanismo muy importante . Para más detalles, véase Sistema de Programación algunos plantean una pequeña suma .

Publicado 15 artículos originales · alabanza ganado 13 · vistas 9058

Supongo que te gusta

Origin blog.csdn.net/weixin_43122409/article/details/84535139
Recomendado
Clasificación